Python pandas

来源:互联网 发布:音轨合成软件 编辑:程序博客网 时间:2024/05/29 10:51

python pandas库是数据分析常用的一个库。
导入pandas:import pandas as pd
pandas数据结构:
主要有两个数据结构,一个是series,一个是dataframe
series是一个类似于一维数组的形式,但是有索引,所以可以像数组一样索引也可以像字典一样索引。
dataframe类似于一个表格。
创建对象:
1.可以通过传递一个list来创建一个series,pandas会默认创建整形索引。
2.通过传入一个numpy array,时间索引及列标签来创建一个DataFrame。index指行,columns指列
3.传递一个可以被转换类似序列结构的字典对象来创建一个dataframe。

df.dtypes函数 查看各列的数据类型
df.head() df.tail() 查看数据的前几行和后几行
df.describe() 对数据的快速统计汇总
df.T 对数据的转置
df.sort_index(axis=0,1) 按轴进行排序
df.sort() 按值进行排序

数据的选择:
df[‘A’] 或者df.A 选择colunms为A的列作为一个series 浅拷贝
df[‘R’]=np.nan会将df的R列值变为nan
df[0:1] 索引第一行的数据,注意这里必须有冒号,不然索引的就是列了 深拷贝
通过[]进行选择,将会对行进行切片 浅拷贝
通过标签选择:
一共由三个方法loc[],iloc[],ix[]
df.loc[] 可以像切片一个进行选择特定行和列,参数是columns或者index。浅拷贝
df.loc[0]=np.nan会将df的第一行值变为nan
df.loc[:,2]会将df的第三列值变为nan
df.iloc[] 和df.loc[] 差不多,但参数是整数。 浅拷贝
df.ix[] 是df.loc 和df.iloc 的综合。 浅拷贝

缺失值的处理:
pandas中缺失值使用np.nan来代替。
df.dropna() 可以去掉包含缺失值的行。
df.fillna() 可以填充nan

合并:
merge( on=None,how=’inner’)函数 通过一个键或者多个键来将数据集连接起来。on指定连接的列名,how指定缺值的处理,inner指定交集,outer指定并集,left和right表示取一边。
这里写图片描述

concat函数 横向或者纵向拼接 concat([df,df],axis=0,1,ignore_index=True)
join函数 类似于sql的合并
append 将一行连接到一个dataframe上

分组:
df.groupby(‘A’).sum( ) 对df按‘A’列元素进行分组并计算每组的和
df.groupby([‘A’,’B’]).sum( ) 对df按’A’,’B’进行层次索引并计算每组的和
df.groupby(‘A’).size() 分组并统计size大小
导入和保存数据:
df.to_csv() 写入csv文件
pd.read_csv( names=[]) 读入csv文件 names :columns的名称
df.to_hdf5() 写入hdf5文件
pd.read_hdf5() 读入hdf5文件
df.to_excel() df.read_excel()

删除数据
del df[”]
df.drop([”],axis=1,inplace=True)
inplace选项是原数组是否被替换,默认是False,需要把值赋给一个新变量。

pivot_table()
这里写图片描述
values: 需要计算的列
index:横轴
columns:纵轴
aggfunc:计算的方式,默认是mean
这里写图片描述
返回一个Dataframe

df.sort_values( by=”,ascending=True,inplace=False)
对Dataframe按某一个元素或者几个进行排序
by 需要进行排序的列或者index str或者list
axis [ 0 or index ] [ 1 or columns] 默认是0 进行排序的方向

原创粉丝点击