Pandas数据预处理(一)

时间煮雨
@R星校长

1关:合并数据

Pandas提供了一套合并数据集操作的方法,本实训主要介绍merge()concat()combine_first()实现。

merge()

merge()可根据一个或者多个键将不同的DataFrame连接在一起,类似于SQL数据库中的合并操作。

参数名 说明
left 拼接左侧DataFrame对象
right 拼接右侧DataFrame对象
on 列(名称)连接,必须在左和右DataFrame对象中存在(找到)。
left_on 左侧DataFrame中的列或索引级别用作键,可以是列名、索引级名,也可以是长度等于DataFrame长度的数组。
right_on 右侧DataFrame中的列或索引级别用作键。可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。
left_index 如果为True,则使用左侧DataFrame中的索引(行标签)作为其连接键。
right_index 与left_index相似
how 它可以等于left, right, outer, inner. 默认innerinner是取交集,outer取并集。
sort sort - 按照字典顺序通过连接键对结果DataFrame进行排序。
suffixes 用于追加到重叠列名的末尾。例如,左右两个DataFrame都有‘data’列,则结果中就会出现data_xdata_y
copy 默认总是复制

在一个或多个键上合并两个DataFrame

left = pd.DataFrame({
   
'id':[1,2,3,4,5],
'Name': ['Alex', 'Amy', 'Alice', 'Alice', 'Ayoung'],
'subject_id':['sub1','sub2','sub4','sub6','sub5']})
right = pd.DataFrame({
   
'id':[1,2,3,4,5],
'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'],
'subject_id':['sub2','sub4','sub3','sub6','sub5']})
pd.merge(left,right,on="id")
pd.merge(left,right,on=["id","subject_id"])

输出:

  id  Name_x subject_id_x Name_y subject_id_y
0   1    Alex         sub1  Billy         sub2
1   2     Amy         sub2  Brian         sub4
2   3   Alice         sub4   Bran         sub3
3   4   Alice         sub6  Bryce         sub6
4   5  Ayoung         sub5  Betty         sub5
---------------------------------------------
   id  Name_x subject_id Name_y
0   4   Alice       sub6  Bryce
1   5  Ayoung       sub5  Betty

使用“how”参数

如何合并参数指定如何确定哪些键将被包含在结果表中。如果组合键没有出现在左侧或右侧表中,则连接表中的值将为NA

left = pd.DataFrame({
   
'id':[1,2,3,4,5
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值