【发布时间】:2016-12-19 09:34:01
【问题描述】:
我在 python 中有两个数据框:
df1:
code | A | B
1 p r
2 q s
3 t u
和
df2:
code | A | B
1 v w
3 x y
4 z I
我想要做的是用 df2 的值替换 df2 中存在的 df1 行(基于“代码”列)...(请注意,我不想包含 df2 中不在的行df1(基于“代码”列)
我不想合并或加入他们!因为他们似乎会重复列!
输出应如下所示:
code | A | B
1 v w
2 q s
3 x y
我已经编写了一些代码来实现这一点,但它似乎需要很长时间或者它甚至不起作用......(没有错误!)
#result
df = pd.DataFrame(columns=df1.columns)
#replace these
ind1 = df2.ncodpers
#iterate
for i, row in df1.iterrows():
if (row['code'] in ind1):
temp = df2[df2['code'] == row['code']]
df=df.append(temp)
else:
df=df.append(row)
df1 = df
有没有更简单的方法来实现这一点? 谢谢你
【问题讨论】:
-
@EdChum,我会试试看它是否有效
-
对不起,没有做你想做的事