【发布时间】:2020-07-05 23:03:48
【问题描述】:
我有 2 个 dfs:
df = pd.DataFrame({'Friend1':['Amy','Bob','Charlie'],'Friend2':['Dan','Ellie','Fred'],'a':[1,2,3], 'b':[4,5,6], 'c':[7,8,9]})
Friend1 Friend2 a b c
0 Amy Dan 1 4 7
1 Bob Ellie 2 5 8
2 Charlie Fred 3 6 9
df2 = pd.DataFrame({'Friend1:['Zack','Yuna'],'Friend2':['Bob','Charlie'], 'b':[100,200], 'c':[300,400]})
Friend1 Friend2 b c
0 Zack Bob 100 300
1 Yuna Charlie 200 400
如何将 df2 中的内容替换为 df 以便新的 df 变为:
Friend1 Friend2 a b c
0 Amy Dan 1 4 7
1 Bob 2 100 300
2 Charlie 3 200 400
请注意,我需要在新 df 中为 Bob 和 Charlie 设置 Friend 2 为空。
我尝试过类似的东西
df.loc[df[df.Friend1.isin(['Bob','Charlie'])].index,'b':'c'] = df2.drop(['Friend1','Friend2'],axis=1)
但它不起作用。救命!
【问题讨论】:
-
为什么需要 df2?
-
抱歉,对于 Bob 和 Charlie,新的 df 值是错误的。已更正!
标签: python-3.x pandas dataframe subset