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 进行排序的方向
- python pandas
- python-pandas
- python pandas
- Python -- pandas
- Python - Pandas
- python-pandas
- Python pandas
- python pandas
- Python----Pandas
- python-pandas
- Python中的pandas模块
- Python Pandas基础1
- Python pandas基础2
- python pandas基础3
- Python安装pandas,matplotlib
- python之pandas说明
- python中的pandas包
- python中安装pandas
- android5.1 增加ethernet设置(DHCP与Static ip)
- noise噪声库
- Java 自定义注解实现ORM对象关系映射
- 归一化与标准化
- 历届试题网络寻路(dfs)
- Python pandas
- [XJOI]黑白树
- Android 动态代理浅叙
- jquery中用width还是width(val)获取当前窗口的宽度
- JAVA中子父类的调用
- Codeforces Round #319 (Div. 2)B. Modulo Sum(数学,DP)
- Java注解初体验(简单ORM映射框架)
- Attack on Titans ZOJ 3747
- 关于Java的封装、继承、抽象类和接口