Pandas高级篇——数据处理

1.数据合并

(1)数据合并取交集
这里写图片描述这里写图片描述这里写图片描述
(2)merge方法的各种连接:内连接,外连接,左连接,右连接,pd.merge(df1,df2,on=”key”,how=”“)
这里写图片描述这里写图片描述
(3)Series数据的连接,pd.concat(axis=”0或1”)
这里写图片描述这里写图片描述这里写图片描述
(4)Series乘法
这里写图片描述
(5)join=”inner”,取交集。pd.concat([s1,s4],axis=1,join=”inner”)

pd.concat([s1,s4],axis=1,join="inner")
    0   1
a   0   0
b   1   5

(6)利用concat生成具有层次化索引数据结构Series
这里写图片描述这里写图片描述
(7)合并时索引重叠情况,即打补丁处理
这里写图片描述这里写图片描述
DataFrame利用combine_first进行数据打补丁操作

2.数据拆分

(1)pd.cut()分组,pd.value_counts()统计,.codes对区间分组返回索引
这里写图片描述
(2)pd.cut(labels=)加标签,plt.hist()画直方图
这里写图片描述

3.数据的替换,series.replace(a,b)**

这里写图片描述
(1)将多个值统一替换成一个指定的值

series.replace([-999,-1000],NA)
0    1.0
1    NaN
2    2.0
3    NaN
4    NaN
5    3.0
dtype: float64

(2)针对不同的值,进行不同的替换

这里写图片描述

4.数据转化、清除重复数据

这里写图片描述
(1)duplicated() 获取的是bool值
这里写图片描述
(2)drop_duplicates方法去除重复的数据行
这里写图片描述
data.drop_duplicates([“k1”,”k2”]) 与drop_duplicates()效果一样
这里写图片描述
(3)传入keep参数指定需要保留哪些重复的索引
这里写图片描述
(4)通过map函数和字典的映射,添加数据列
这里写图片描述
x.lower()将x变成小写
这里写图片描述这里写图片描述

5.数据重塑和旋转

data.unstack()行索引转换成列索引
data.stack()列索引转换成行索引
(1)Series行列索引转换
这里写图片描述这里写图片描述
(2)DataFrame行列索引转换,pd.Index([” “,” “],names=” “)指定索引与其名称
这里写图片描述

(3)由层次化的行索引转换到列索引的时候指定需要转换的行索引的层数
这里写图片描述这里写图片描述
(4)对DataFrame进行unstack操作时,作为旋转轴的级别将会成为结果中的最低级别

1.stack将列索引变行索引,即将number变为行索引,此时state和number都是行索引
这里写图片描述
2.将result1拼成df,此时df的行索引:state和number;列索引:side
这里写图片描述
3.result2=df.unstack(“state”)指定df行索引中state变列索引,此时result2行索引:number;列索引:side和state
这里写图片描述
4.result2.unstack()将行索引number变成列索引,此时全是列索引,只有一个维度的索引,因此它是Series类型
这里写图片描述
(5)传入参数dropna=True,False,使得最终结果可逆,不可逆
这里写图片描述
dropna=True,可逆
这里写图片描述
dropna=False,不可逆
这里写图片描述

猜你喜欢

转载自blog.csdn.net/messi_james/article/details/80784218