pandas模块
- 在Windows cmd 输入 jupyter notebook、
- pandas很丰富的数据处理工具
- python数据分析三剑客 numpy(Python语言的一个扩展程序库,支持大量的维度数据与矩阵运算,针对数组提供大量的数学函数库 Pandas是一个强大的分析结构化数据的工具集) pandas matplotlib(绘图包)
Series
类似于一维数组对象,类似于有的字典。
- 数据列表series
s1 = pd.Series([1,'a',5,7,999])
print(s1)
0 1
1 a
2 5
3 7
4 999
dtype: object
- 使用字典series
sdata={'a':35000,'b':72000,'c':16000,'d':5000}
s3=pd.Series(sdata)
print(s3)
a 35000
b 72000
c 16000
d 5000
dtype: int64
DataFrame 表格型数据结构
data={
'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],
'year':[2000,2001,2002,2001,2002],
'pop':[1.5,1.7,3.6,2.4,2.9]
}
df = pd.DataFrame(data)
state year pop
0 Ohio 2000 1.5
1 Ohio 2001 1.7
2 Ohio 2002 3.6
3 Nevada 2001 2.4
4 Nevada 2002 2.9
读取csv、txt文件 -->
read_csv() 读取xlsx文件 -->
read_excel() 读取mysql数据库 -->
read_sql() 从网页读取table -->
read_html()
查看类功能
DataFrame() 创建一个DataFrame对象
df.values 返回ndarray类型的对象
df.shape 返回行列数
df.index 获取行索引
df.set_index 设置索引
df.reset_index 重制索引
df.columns 获取列索引
df.rename 重新设置列名
df.dtypes 查看每列数据类型
df.axes 获取行及列索引
df.T 行与列对调
df.info() 打印DataFrame对象的信息
df.head(i) 显示前 i 行数据
df.tail(i) 显示后 i 行数据栗子:
import pandas as pd
fpath = “./datas/read_test.csv.txt”
df = pd.read_csv(fpath)
#返回所有信息
print(df)
#返回所有信息以数组形式
print(df.values)
#返回行数和列数
print(df.shape)
#返回行列信息
#RangeIndex(start=0, stop=12, step=1)
#prov isp pv uv
#date
print(df.index)
#把默认索引设置为‘date’替换
print(df.set_index(‘date’))
print(df.values)
print(df.reset_index(inplace=True,drop=True))
#获取行索引
print(df.columns)
df2=df
df2.columns=[‘a’,‘b’,‘c’,‘d’,‘e’]
print(df2)
df2.rename(columns={‘a’:“日期呀”,‘b’:“身份”,‘c’:“构造”,‘d’:“mm”,‘e’:“ll”},inplace=True)
print(df2)
#类型
print(df2.dtypes)
#行列都显示
print(df2.axes)
#旋转
print(df2.T)
#查看开头几行数据
print(df2.head())
#查看末尾几行数据
print(df2.tail())
计算类功能
df.count() # 返回每一列中的非空值的个数
df.value_counts() #按值计数
df.unique() 唯一去从
df.describe() 查看数据按列的统计信息
df.sum() # 返回每一列的和, 无法计算返回空, 下同
df.sum(numeric_only=True) # numeric_only=True代表只计算数字型元素, 下同
df.max() # 返回每一列的最大值
df.min() # 返回每一列的最小值
df.argmax() # 返回最大值所在的自动索引位置
df.argmin() # 返回最小值所在的自动索引位置
df.idxmax() # 返回最大值所在的自定义索引位置
df.idxmin() # 返回最小值所在的自定义索引位置
df.mean() # 返回每一列的均值
df.median() # 返回每一列的中位数
df.var() # 返回每一列的方差
df.std() # 返回每一列的标准差
df.isnull() # 检查df中空值, NaN为True, 否则False, 返回一个布尔数组
df.notnull() # 检查df中空值, 非NaN为True, 否则False, 返回一个布尔数组
数据的合并
批量合并相同格式的Excel、给DataFrame添加行、给DataFrame添加列