Python数据展示笔记之Pandas库


前言

记录Pandas库的基本使用方法


简单使用

Pandas库:数据类型+分析工具
Series:一维;DataFrame:多维

import pandas as pd
pd.read_excel(io, sheet_name, header=0, name=None, 
			  usecol=None, index=None, dtype=None, nrows)#读取Excel
#io文件, sheet_name工作表索引/名称/列表, header=0标题行位置, name=None列名称, 
#usecol=None读取列, index=None标题列位置, dtype=None数据类型, nrows行数

Serise类

一维带标签数组:索引+数据
1.创建
(1)由列表/数组创建
pd.Series(list/ndarray)自动索引
pd.Series(list/ndarray,index=list)指定索引
(2)由标量创建
pd.Series(a,index=list)索引确定数目,不能省略
(3)由字典创建
pd.Series(dict)键为值的索引
pd.Series(dict,index=list)指定索引
2.操作
Series.index索引;Series.values数据
索引:a[n],a[‘n’],a[‘a’,‘b’,‘c’],两种方法不能混用
根据索引运算,自动对齐,缺失返回NaN
与字典相似,可用in判断包含,get(index, val)获得值
Series与Series.index可拥有name属性

DataFrame类

多维带标签数组:索引+多列数据
纵向index,axis=0;横向column,axis=1
1.创建
(1)由多维列表/数组创建
pd.DataFrame(list/ndarray)自动索引
pd.DataFrame(list/ndarray,index=list)指定索引
(2)由多维字典创建
pd.DataFrame(dict)键为值的索引,值为list/Series
pd.DataFrame(dict,index=list)指定索引
2.操作
(1)a.columns列索引;a.index行索引
列查找a[‘a’];行字符a.loc[‘a’],行标签a.iloc[n];数据a[‘a’][‘a’]
(2)指定索引:a.reindex(index=list,columns=list)
可选参数:fill_value补齐,method为ffill向前填充;为bfill向后填充,limit最大填充量,copy生成新对象
(3)元素操作:a.columns.insert(n,val)增加元素;a.append(idx)连接;a.diff(idx)差集;
a.intersection(idx)交集;a.union(idx)并集;delete(loc)删除;a.insert(loc,e)插入;
a.drop(idx,axis)删除行/列
(4)根据索引运算,自动对齐,缺失返回NaN,与低维广播运算
+.add(d),-.sub(d),*.mul(d),/.div(d)
可选参数:fill_value补齐,axis指定维度

数据排序

Series/DataFrame.sort_index(axis=0, ascenging=True)根据索引升序
Series.sort_values(axis=0, ascenging=True)根据数值升序
DataFrame.sort_values(by, axis=0, ascenging=True)根据数值对by标签升序
NaN放在末尾

统计函数

Series/DataFrame:
.sum(a, axis),.mean(a, axis),.count(a, axis),.std(a, axis),
.var(a, axis),.min(a, axis),.max(a, axis),.median(a, axis),
Series.describe()统计值Series对象,返回[‘count’]…[‘max’]
DataFrame.describe()统计值DataFrame对象,按列统计
.argmin(a),.argmax(a)最值自动索引位置
.idxmin(a),.idxmax(a)最值自定义索引位置
np.unravel_index(index, shape)一维下标转为多维下标
累计统计:与之前的数累计。.cumsum()和,.cumprod()积,.cummax()最大,.cummin()最小
波动计算:与相邻n的数累计。.rolling(n).sum(),.min()…不足时返回NaN


总结

Pandas可以很方便地从Excel中提取数据,DataFrame.ix已改为DataFrame.loc与DataFrame.iloc。对于二维DataFrame,其轴与ndarray相似,列axis=0;行axis=1。

猜你喜欢

转载自blog.csdn.net/qq_53715621/article/details/125349301