如何将一个dataframe的某列更新到另一个dataframe上

当要从一个dataframe中的某列去更新另一个dataframe的数据,且有一个mapping列index时,这块python不像sql可以方便的通过join去关联再去更新(也许通过对python引入sql模块可以实现)。
目前在python下,相对比较简单的方式是通过zip函数将共有列分别和更新列及被更新列绑定到一起,再通过字典里的update函数去解决。
ex:
分别创建df1和df2,现在要将df2中b列通过共有的ix列去更新df1中的b列
在这里插入图片描述
ans:

  1. 先用zip函数将ix列分别与两个b列相互绑定
    在这里插入图片描述
  2. 再将被更新的dict先放到一个空字典中,之后用update函数将要更新的dict去替换该字典对应的值
    在这里插入图片描述
  3. 最后将更新完的字典变成列返回给dataframe
    在这里插入图片描述
    上述方法比较容易理解,dataframe的方法有两种,第一种是:
    1.先重构index
    在这里插入图片描述

2.再用apply()构建lambda函数创建单独一列
在这里插入图片描述
3. 最后将这列给df1

在这里插入图片描述

第二种方法是先将df1和df2根据ix列匹配起来,再用fillna()函数将被替换的列填充到替换列中的NaN上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值