我有两个DataFrame。我需要根据{{的值}用B
的值替换C
的{{1}},D
和df1
列中的文本1}}。
df1
df2['SC']
df2
df2['Title']
所需的输出:
A B C D
Dave Green Blue Yellow
Pete Red
Phil Purple
答案 0 :(得分:2)
使用stack
+ map
+ unstack
df1.set_index('A').stack().map(df2.set_index('Title')['SC']).unstack()
B C D
A
Dave 2.0 2.0 3.0
Pete 3.0 NaN NaN
Phil 4.0 NaN NaN
如果一列包含 all NaN
,它将丢失。为避免这种情况,您可以reindex
.reindex(df1.columns, axis=1) # append to previous command