为什么熊猫列不会被其他列覆盖?



我试图用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]

最新更新