【发布时间】:2020-05-27 14:24:36
【问题描述】:
对于我的一生,我无法弄清楚如何实施以下解决方案:
假设我有一个名为 df1
的数据框 ID Name Gender
0 Bill M
1 Adam M
2 Kat F
1 Adam M
然后我有另一个名为 df2
的数据框 ID Name Age
5as Sam 34
1as Adam 64
2as Kat 50
我要做的就是检查 df1 中的 ID 是否在 df2 中的 ID 中,如果是的话抓取相应的 Age 列并将其附加到 df1。
理想的解决方案:
ID Name Gender Age
0 Bill M
1 Adam M 64
2 Kat F 50
1 Adam M 64
我已经实现了以下解决方案,起初我认为它有效,但意识到它在 df 末尾缺少匹配很多值。不确定是因为我写的内容还是我的 CSV 文件太大。
y_list = df2.ID.dropna().unique()
for x in df1.ID.unique():
if x in y_list:
df1.loc[df1.ID == x, 'Age'] = df2.Age
感谢任何帮助!
【问题讨论】:
-
您在 df2 中写入您的 ID 是否出错?
-
跟进 Vishaka 的 cmets,请检查 ID 上的数据框。
标签: python pandas dataframe mapping