Pandas与Numpy基础
文章平均质量分 66
Pandas与Numpy基础原理
小小何先生
总是感觉自己是个英雄,还很帅!
展开
-
Numpy系列(七)求解线性方程组、计算逆矩阵求解线性方程组
求解线性方程组 对于Ax=b,已知A和b,怎么算出x? 调用solve方法直接求解: 还可以验证一下:计算逆矩阵求解线性方程组 对于这样的线性方程组:x + y + z = 62y + 5z = -42x + 5y - z = 27 可以表示成矩阵的形式:[11102525−1][xyz]=[6−427]\left[\begin{array}{ccc}1 & 1 & 1 \\0 & 2 & 5 \\2 & 5 & -翻译 2020-08-16 16:40:22 · 3207 阅读 · 0 评论 -
Numpy系列(六)常用的数组合并操作
怎样给数据添加新的多行np.concatenate([a,b])np.vstack([a,b])np.row_stack([a, b])怎样给数据添加新的多列 与行类似,添加列也有三种方法np.concatenate([a,b], axis=1)np.hstack([a,b])np.column_stack([a,b])翻译 2020-08-16 16:30:50 · 301 阅读 · 0 评论 -
Numpy系列(五)给数组增加一个维度
3种方法:np.newaxis:关键字,使用索引的语法给数组添加维度np.expand_dims(arr, axis):方法,和np.newaxis实现一样的功能,给arr在axis位置添加维度np.reshape(a, newshape):方法,给一个维度设置为1完成升维方法1:np.newaxis关键字 注意:np.newaxis其实就是None的别名 即以下所有的np.newaxis的位置,都可以用None替代 数据现在是一行*五列,数据本身没有增减,只是多了一级括号。翻译 2020-08-16 16:18:36 · 40820 阅读 · 3 评论 -
Numpy系列(四)常用数学统计函数
以上函数,都有一个参数叫做axis用于指定计算轴为行还是列,如果不指定,那么会计算所有元素的结果。翻译 2020-08-16 16:10:58 · 252 阅读 · 0 评论 -
Numpy系列(三)常用random随机函数汇总
官方文档地址choice(a[, size, replace, p])shuffle(x) 把一个数组x进行随机排列:permutation(x) 把一个数组x进行随机排列,或者数字的全排列normal([loc, scale, size]) 按照平均值loc和方差scale生成高斯分布的数字uniform([low, high, size]) 在[low, high)之间生成均匀分布的数字...翻译 2020-08-16 16:07:51 · 300 阅读 · 0 评论 -
Numpy系列(二)对数组按索引查询
文章目录基础索引一维数组二维数组神奇索引一维数组二维数组布尔索引一维数组二维数组条件的组合基础索引一维数组 和Python的List一样:二维数组 切片的修改会修改原来的数组,因此numpy经常需要处理大数组,避免每次都复制,因此如果想要复制的话,可以调用copy()方法复制出一个数组,然后再处理:神奇索引 其实就是:用整数数组进行的索引,叫神奇索引。一维数组实例:获取数组中最大的前N个数字:二维数组布尔索引一维数组二维数组条件的组合...翻译 2020-08-16 15:53:27 · 708 阅读 · 0 评论 -
Numpy系列(一)array对象以及创建array的方法总结
Numerical Python(Numpy)是一个开源的Python科学计算库,使用Numpy可以方便的使用数组、矩阵进行计算,包含线性代数、傅里叶变换、随机数生成等大量函数。 与原生的Python实现相比,使用Numpy是直接以数组、矩阵为粒度计算,并且支持大量的数学函数,而Python需要用for循环从底层实现。并且Numpy的数组存储效率和输入输出计算性能,比Python使用List或者嵌套List好很多。 Numpy的数据存储和Python原生的List是不一样的,Numpy的大部分代翻译 2020-08-16 15:22:46 · 2309 阅读 · 1 评论 -
Pandas系列(十六)快速进行日期处理
文章目录读取天气数据到dataframe将日期列转换成pandas的日期方便的对DatetimeIndex进行查询方便的获取周、月、季度统计每周、每月、每个季度的最高温度日期索引的缺失使用pandas.reindex填充缺失的索引使用pandas.resample方法 Pandas日期处理的作用:将2018-01-01、1/1/2018等多种日期格式映射成统一的格式对象,在该对象上提供强大的功能支持,能够简单地对日期进行处理。 几个概念:pd.to_datetime:pandas的一个函数,能将翻译 2020-08-16 10:54:04 · 654 阅读 · 0 评论 -
Pandas系列(十五)stack和pivot实现数据透视
一般来说mysql中存储的数据是面向列式的,这种格式非常善于新增数据或者删除数据,如果数据量比较大的话,还可以很方便地按行进行拆分,然后分片处理。 但是在数据分析时,我们更期望日期是行索引,评分是列索引,中间每个单元格的值是对应的数据。那如何将左边的数据变成右边的数据形式呢? 这就是将列示数据变成二维交叉形式,便于分析,这就叫做重塑或透视。经过统计得到多维度指标数据 在实际的场景中经常需要指定多个维度,计算聚合后的指标。比如像统计电影评分数据集中每个月份的每种评分(1-5分)被评分多少次翻译 2020-08-16 07:44:20 · 460 阅读 · 0 评论 -
Pandas系列(十四)数据转换函数map、apply、applymap以及分组apply
文章目录获取数据map方法1:Series.map(dict)方法2:Series.map(function)applySeries.apply(function)DataFrame.apply(function)applymap map、apply、applymap这三个函数的大体区别如下:map:只用于Series,实现每个值->值的映射;apply:用于Series实现每个值的处理,用于Dataframe实现某个轴的Series的处理;applymap:只能用于DataFrame,用翻译 2020-08-15 21:36:02 · 648 阅读 · 0 评论 -
Pandas系列(十三)分层索引MultiIndex
文章目录获取数据Series的分层索引MultiIndexSeries有多层索引怎样筛选数据?DataFrame的多层索引MultiIndexDataFrame有多层索引怎样筛选数据? 在上一小节Pandas系列(十三)实现groupby分组统计中可以实现多个key进行聚合,而这就是分层索引。 使用这种在一个维度上拥有多个索引的层级,可以表达更高维度数据的形式。能够实现更高效的数据筛选。获取数据Series的分层索引MultiIndex 使用之前的多key索引,得到如下结果: 可以看翻译 2020-08-15 19:26:40 · 1786 阅读 · 2 评论 -
Pandas系列(十二)实现groupby分组统计
groupby首先按照key进行分组,就可以得到每个groupby的名称,以及group本身,而group本身是一个dataframe或者一个series,然后在这个dataframe或者series进行统计。统计完成之后会将key和统计结果拼合起来。获取数据分组使用聚合函数做数据统计单个列groupby,查询所有数据列的统计将属性A进行分组,之后再对其属性求和:这里要注意两点:groupby中的’A’变成了数据的索引列因为要统计sum,但B列不是数字,所以被自动忽略掉...翻译 2020-08-15 17:09:15 · 10316 阅读 · 1 评论 -
Pandas系列(十一)Pandas中concat合并两个dataframe
文章目录concatappend使用pandas.concat合并数据获取数据concat实例使用默认参数使用ignore_index=True可以忽略原来的索引使用join=inner过滤掉不匹配的列添加一列Series添加多列Series使用DataFrame.append按行合并数据生成数据append实例给1个dataframe添加另一个dataframe忽略原来的索引ignore_index=True一行一行的给DataFrame添加数据 通过concat可以将相同格式的excel、给data翻译 2020-08-15 14:05:20 · 24784 阅读 · 0 评论 -
Pandas系列(十)Merge语法
文章目录Merge语法数据集介绍merge实现理解merge时数量的对齐关系one-to-one 一对一关系的mergeone-to-many 一对多关系的mergemany-to-many 多对多关系的merge理解left join、right join、inner join、outer join的区别如果出现非Key的字段重名怎么办 如何把不同的DataFrame数据Merge成一个大表?Pandas的Merge,相当于Sql的Join,将不同的表按key关联到一个表。Merge语法pd.me翻译 2020-08-15 10:43:14 · 4034 阅读 · 1 评论 -
Pandas系列(九)axis参数理解
文章目录生成数据单行或者单列操作按行或者列聚合按axis=0/index执行mean聚合操作按axis=1/columns执行mean聚合操作再次举例,加深理解axis=0或者"index":如果是单行操作,就指的是某一行。如果是聚合操作,指的是跨行cross rows。axis=1或者"columns":如果是单列操作,就指的是某一列。如果是聚合操作,像求均值这样的,指的是跨列cross columns。生成数据单行或者单列操作按行或者列聚合按axis=0/in翻译 2020-08-15 08:03:52 · 584 阅读 · 0 评论 -
Pandas系列(八)字符串处理
文章目录Pandas的字符串处理:获取数据获取Series的str属性使用str的startswith、contains等得到bool的Series可以做条件查询需要多次str处理的链式操作使用正则表达式的处理 前面我们已经使用了字符串的处理函数:df["bWendu"].str.replace("℃", "").astype('int32')Pandas的字符串处理:使用方法:先获取Series的str属性,然后在属性上调用函数;只能在字符串列上使用,不能数字列上使用;Dataframe上没翻译 2020-08-14 23:43:07 · 1064 阅读 · 0 评论 -
Pandas系列(七)Pandas数据排序
文章目录读取数据Series的排序:DataFrame的排序:单列排序多列排序分别指定升序和降序读取数据 读取的数据如下:Series的排序:Series.sort_values(ascending=True, inplace=False) 参数说明:ascending:默认为True升序排序,为False降序排序。inplace:是否修改原始Series。DataFrame的排序:DataFrame.sort_values(by, ascending=True, inp翻译 2020-08-14 21:39:54 · 7704 阅读 · 0 评论 -
Pandas系列(六)SettingWithCopyWarning报警
文章目录读取数据复现警告解决办法解决办法1解决方法2 使用Pandas中SettingWithCopyWarning报警的原由:读取数据 读取原始数据,并做一些简单的处理:复现警告 利用.str.startswith()可以选出3月份的数据,之后对其设置新列温差: 可以看到这里报出一个警告SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame。也就是说df[co翻译 2020-08-14 20:41:10 · 5705 阅读 · 0 评论 -
Pandas系列(五)对缺失值的处理
文章目录读取数据检测空值删除空值填充空值 Pandas主要有三类函数处理缺失值,对其分类可以分为检测、丢弃和填充。isnull和notnull:检测是否是空值,可用于df和series。dropna:丢弃、删除缺失值。这个函数有三个参数:axis : 删除行还是列,{0 or ‘index’, 1 or ‘columns’}, default 0按行删除。how : 如果等于any则任何值为空都删除,如果等于all则所有值都为空才删除。inplace : 如果为True则修改当前df,否则翻译 2020-08-14 20:15:44 · 581 阅读 · 0 评论 -
Pandas系列(四)数据统计函数
文章目录数据处理汇总类统计唯一去重和按值计数唯一性去重按值计数相关系数和协方差 本节主要介绍pandas中数据之间的一些统计相关性:数据处理 与之前类似,在拿到数据之后,先对数据进行一个初步的处理,采用.str.replace("℃", "").astype('int32')方法将温度转为int类型数据:汇总类统计 df.describe()方法提取所有数字列的统计结果: 同样可以查看单个Series的统计数据,像均值,最大值,最小值等:唯一去重和按值计数 对于唯一去重和按值翻译 2020-08-14 15:35:30 · 1405 阅读 · 0 评论 -
Pandas系列(三)新增数据列
文章目录数据处理直接赋值applyassign分条件赋值 Pandas新增数据列方法主要有直接赋值、apply、assign、分条件赋值这四种方法:数据处理 在进行数据分析时,经常需要按照一定条件创建新的数据列,然后进行进一步分析。拿到数据之后先做一些简单的处理:# 替换掉温度的后缀℃df.loc[:, "bWendu"] = df["bWendu"].str.replace("℃", "").astype('int32')df.loc[:, "yWendu"] = df["yWendu"]翻译 2020-08-14 15:03:53 · 2301 阅读 · 1 评论 -
Pandas系列(二)查询数据
Pandas中如何对数据进行查询,有5种方法对其进行查询:按数值、列表、区间、条件、函数五种方法: Pandas查询数据有以下几种方法:df.loc方法,根据行、列的标签值查询。.loc既能查询,又能覆盖写入。df.iloc方法,根据行、列的数字位置查询。df.where方法。df.query方法。 Pandas使用.loc查询数据的方法有五个:使用单个label值查询数据使用值列表批量查询使用数值区间进行范围查询使用条件表达式查询调用函数查询 以上方法既适用于行也翻译 2020-08-14 14:16:15 · 1305 阅读 · 0 评论 -
Pandas系列(一)数据读取、数据结构Dataframe和Series
文章目录读取数据读取csv文件读取txt文件读取excle文件读取MySql数据库Pandas数据结构SeriesDataFrame根据多个字典序列创建dataframe从DataFrame中查询出Series参考 以前对知识的理解学习都是要啥学啥,久而久之感觉自己像个半吊子,很没有安全感。痛定思痛,整个活。 Pandas是一个开源的Python类库:用于数据分析、数据处理、数据可视化。读取数据 Pandas需要读取表格类型的数据,然后进行分析。数据类型说明Pandas读取方法翻译 2020-08-14 10:29:14 · 1489 阅读 · 0 评论