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

时间:2024-03-26 09:07:36

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

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

2.再用apply()构建lambda函数创建单独一列
如何将一个dataframe的某列更新到另一个dataframe上
3. 最后将这列给df1

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

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