pandas库常用函数

Pandas库围绕Series类型和DataFrame类型这两种数据结构,提供了一种高效便捷的数据处理方式。

Series类型介绍

Series类型是一组数据及与之相关的数据索引组成

自动索引:

a = pd.Series([9, 8, 7, 6]) 构造一个Series对象a

series的值分布 series函数举例_自定义


自定义索引:

a = pd.Series([9, 8, 7, 6], index = [‘a’, ‘b’, ‘c’, ‘d’])

series的值分布 series函数举例_升序_02

Series创建方式

(1)从标量值创建

s = pd.Series(25, index = [‘a’, ‘b’, ‘c’])

series的值分布 series函数举例_自定义_03


(2)从字典类型创建

键值对中的键是索引 ,d = pd.Series({‘a’:9, ‘b’:8, ‘c’:7})

series的值分布 series函数举例_series的值分布_04

series的值分布 series函数举例_series的值分布_05


(3)从ndarray类型创建

series的值分布 series函数举例_自定义_06

series的值分布 series函数举例_数据_07

Series类型基本操作

(1).index获得索引,.values获得数据

series的值分布 series函数举例_数据_08


series的值分布 series函数举例_自定义_09


(2)in : 判断“键”是否在字段中 返回 True / False

          .get(‘f’, 100) 获取b的索引为‘f’的数据,若不存在,返回100

series的值分布 series函数举例_自定义_10


(3)Series类型对齐操作

索引一致的,对应元素相加,无一致的索引,数据为NaN

series的值分布 series函数举例_series的值分布_11


(4)Series类型的name属性

series的值分布 series函数举例_自定义_12

DataFrame类型介绍

DataFrame是表格型类,可理解为二维代表签数据类型, 其由共用相同索引的一组列组成: index(axis=0,即纵向),colum(axis=1,即横向)

DataFrame创建方式

(1)从ndarray创建

d= pd.DataFrame(np.arange(10).reshape(2,5))

series的值分布 series函数举例_自定义_13


(2)从字典创建

字典中的键,默认为列索引;

只选取字典中有的索引所对应的值,没有的自动补齐

series的值分布 series函数举例_series的值分布_14


(3)从列表中创建

d[‘one’] 获得新的DataFrame类型

d.ix[‘b’] 获得d的 b这一列

d[‘one’][‘b’] 获得 数据 2 注意:必须先[‘one’]后[‘b’],先列后行

series的值分布 series函数举例_升序_15

pandas数据类型常见操作

(1)

reindex(index=None, columns=None,…)方法 可改变或重排Series和DataFrame索引

reindex(index=None, columns=None,…)

index, colums 新的行列自定义索引

fill_value 在重新索引,用于填充缺失位置的值

method 填充方法,ffill当前值向前填充, bfill向后填充

limit 最大填充量

copy 默认为True,生成新的对象,False时,新旧相等,但不复制

例如:

d.reindex(index = [‘d’, ‘c’, ‘b’, ‘a’ ])

d.reindex(colums = [‘two’, ‘one’])

series的值分布 series函数举例_自定义_16


(2)数据排序

.sort_index()方法在指定轴上根据索引进行排序,默认升序。

.sort_index(axis=0,ascending = True) ascending是指递增排序

.sort_values()方法在指定轴上根据数值进行排序,默认升序。

Serier.sort_values(axis= 0, ascending=True)

DataFrame.sort_values(by, axis = 0, ascending = True)

by: 只对axis轴上的某个 索引 或 索引列表 进行排序

series的值分布 series函数举例_series的值分布_17


NaN空值,保持在排序末尾

索引类型常见操作

.append(idx) 连接另外一个Index对象,产生新的Index对象
.diff(idx) 计算差集,产生新的Index对象
.intersection(idx) 计算交集,产生新对象
.union(idx) 计算并集
.delete(loc) 删除loc位置处的元素
.insert(loc, e) 在loc位置增加一各元素e
.drop()可删除Series或DataFrame制定的行或列

例如:

series的值分布 series函数举例_升序_18


d.drop([‘c1’, ‘c2’]) # 此处生成新对象,原对象d不改变

d.drop(‘one’,axis=1) 要删除列,需要加上axis = 1.

pandas统计分析函数

.sum() 计算数据总和,按0轴计算

.count() 非NaN值的数量

.mean() .median() 计算算术平均值(即数组元素之和除以元素数量)、算术中位数

.var() .var() 计算方差、标准差

.min() .max 计算最小、大值

.argmin() .argmax() 计算最大、小值所在位置的索引(针对自动索引的)(适用于Series 类型:)

.idxmin() .idxmax() 计算最大、小值所在位置的索引(针对自定义索引的)(适用于Series类型:)

.describe() 针对0轴(各列)的统计汇总

series的值分布 series函数举例_升序_19

series的值分布 series函数举例_升序_20

.cov() 计算协方差矩阵

.corr() 计算相关系数矩阵

series的值分布 series函数举例_数据_21