小编her*_*lex的帖子

如果熊猫中没有重复项,则将行值从一个 df 附加到另一个

我有两个 dfs


df1 = pd.DataFrame({'pupil': ["sarah", "john", "fred"],
                  'class': ["1a", "1a", "1a"]})


df2 = pd.DataFrame({'pupil_mixed': ["sarah", "john", "lex"],
                  'class': ["1a", "1c", "1a"]})


Run Code Online (Sandbox Code Playgroud)

如果值不重复,我想将来自 df2 的列“pupil_mixed”中的行值附加到 df1 中的列“pupil”

期望的结果:

df1 = pd.DataFrame({'pupil': ["sarah", "john", "fred", 'lex'],
                  'class': ["1a", "1a", "1a", NaN]})


Run Code Online (Sandbox Code Playgroud)

我用appendloc

df1 = df1.append(df2.loc[df2['pupil_mixed'] != df1['pupil'] ])

它只是将另一列附加到具有匹配行值的 df 并将不匹配的行值更改为 NaN

    pupil   class   pupil_mixed
0   sarah   1a      NaN
1   john    1a      NaN
2   fred    1a      NaN
2   NaN     1a      lex




Run Code Online (Sandbox Code Playgroud)

python append dataframe pandas

4
推荐指数
1
解决办法
70
查看次数

标签 统计

append ×1

dataframe ×1

pandas ×1

python ×1