超全的pandas数据分析常用函数总结:下篇(附赠思维导图)

基础知识在数据分析中就像是九阳神功,熟练的掌握,加以运用,就可以练就深厚的内力,成为绝顶高手自然不在话下!
.
为了更好地学习数据分析,我对于数据分析中pandas这一模块里面常用的函数进行了总结。整篇总结,在详尽且通俗易懂的基础上,我力求使其有很强的条理性和逻辑性,所以制作了思维导图,对于每一个值得深究的函数用法,我也会附上官方链接,方便大家继续深入学习。
.
文章中的所有代码都会有讲解和注释,绝大部分也都会配有运行结果,酱紫的话,整篇总结篇幅量自然不小,所以我分成了上下两篇,这里是下篇。

5. 数据预处理

先创建一个data2数据集

data2=pd.DataFrame({
   
    "id":np.arange(102,105),
    "profit":[1,10,2]
})
data2

输出结果:

id profit
0 102 1
1 103 10
2 104 2

再创建一个data3数据集

data3=pd.DataFrame({
   
    "id":np.arange(111,113),
    "money":[106,51]
})
data3

输出结果:

id money
0 111 106
1 112 51
5.1 数据的合并

用merge合并

DataFrame.merge(self,right,how =‘inner’,on = None)

  • right指要合并的对象
  • on指要加入的列或索引级别名称,必须在两个DataFrame中都可以找到。
  • how决定要执行的合并类型:left(使用左框架中的键)、right、inner(交集,默认)、outer(并集)
data_new=pd.merge(data,data2,on='id',how='inner')      # 默认取交集
data_new=pd.merge(data,data2,on='id',how='outer')      # 取并集,没有值的地方填充NaN
data.merge(data2,on='id',how='inner')                  # 另一种写法,输出结果见下方

输出结果:

id date money product department origin profit
0 102 2020-03-11 4.000000 可乐 饮料 China 1
1 103 2020-03-12 65.000000 牛肉干 零食 America 10
2 104 2020-03-13 20.666667 老干妈 调味品 China 2

更多关于pandas.DataFrame.merge的用法,戳下面官方链接:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html

data.merge(data2,on='id',how='left')     # 使用左框架中的键

输出结果:

id date money product department origin profit
0 101 2020-03-10 5.000000 苏打水 饮料 China NaN
1 102 2020-03-11 4.000000 可乐 饮料 China 1.0
2 103 2020-03-12 65.000000 牛肉干 零食 America 10.0
3 104 2020-03-13 20.666667 老干妈 调味品 China 2.0
4 105 2020-03-14 15.000000 菠萝 水果 Thailand NaN
5 106 2020-03-15 20.000000 冰激凌 冷冻食品 China NaN
6 107 2020-03-16 35.000000 洗面奶 日用品 America NaN
7 108 2020-03-17 16.000000 洋葱 蔬菜 China NaN
8 109 2020-03-18 6.000000 牙膏 日用品 China NaN
9 110 2020-03-19 20.000000 薯片 零食 Japan NaN

用append合并

data.append(data2)    # 在原数据集的下方合并入新的数据集

输出结果:

date department id money origin product profit
0 2020-03-10 饮料 101 5.000000 China 苏打水 NaN
1 2020-03-11 饮料 102 4.000000 China 可乐 NaN
2 2020-03-12 零食 103 65.000000 America 牛肉干 NaN
3 2020-03-13 调味品 104 20.666667 China 老干妈 NaN
4 2020-03-14 水果 105 15.000000 Thailand 菠萝 NaN
5 2020-03-15 NaN 106 20.000000 China 冰激凌 NaN
6 2020-03-16 日用品 107 35.000000 America 洗面奶 NaN
7 2020-03-17 蔬菜 108 16.000000 China 洋葱 NaN
8 2020-03-18 日用品 109 6.000000 China 牙膏 NaN
9 2020-03-19 零食 110 20.000000 Japan 薯片 NaN
0 NaN NaN 102 NaN NaN NaN 1.0
1 NaN NaN 103 NaN NaN NaN 10.0
2 NaN NaN 104 NaN NaN NaN 2.0

用join合并
用下面这种方式会报错:列重叠,且没有指定后缀,因为上面的数据data和data2都有“id”列,所以需要给id列指明后缀。

data.
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值