首页 > 解决方案 > Pandas 根据另一列的值创建条件列

问题描述

我有两个df

df1:

索引文本
1 串1
2串2
3串3
4个
5串5
6个

df2:

索引文本
4串4
6串6

如何根据索引将 df1 中的文本“a”替换为 df2 中的值,使其显示如下。

df3:

索引文本
1 串1
2串2
3串3
4串4
5串5
6串6

标签: pythonpandas

解决方案


您可以将熊猫update用作:

df1.set_index('index',inplace=True)
df2.set_index('index',inplace=True)
df1.update(df2) #df1 is changed

或者

df1.loc[df2.index,'text'] = df2['text'] #df1 is changed

或者输出在 df3 然后

df3 = df1.copy()
df3.update(df2) #df3 is changed

它们都产生:

       text
index   
1   string1
2   string2
3   string3
4   string4
5   string5
6   string6

推荐阅读