我试图用df2的值覆盖df1中列A和B的行值。我的dfs是这样的:
df1
'A' 'B' 'C'
23 0 cat orange
24 0 cat orange
25 0 cat orange
df2
'A' 'B' 'C'
56 2 dog yellow
64 4 rat orange
85 2 bat red
这里的索引是不同的,我想用df2的值64覆盖df1的第25行,只有列A和b
我试过这样做
df1[['A','B']].loc[25] = df2[['A','B']].loc[64]
执行,但实际上似乎没有覆盖任何东西,因为当我调用df1[['A','B']].loc[25]
时,我仍然得到原始值。我希望新的df1看起来像这样:
df
'A' 'B' 'C'
23 0 cat orange
24 0 cat orange
25 2 bat orange
谁能解释一下为什么这对我不起作用?
df1.loc[25, ['A', 'B']] = df2.loc[64, ['A', 'B']]
原因df1 [[A, B]]是一种新的DataFrame,试题:
df1.loc[25, ['A','B']] = df2[['A','B']].loc[64]