我有以下大型pandas数据帧A:
A B ... C
cat cotsco... apple
cat walmart... google
dog sears... google
dog homemart... amazon
...
fish walmart... microsoft
pandas数据帧B:
A B ... D
1.2 0.0 ... 1
3.3 9.1 ... 2
4.5 1.2 ... 5
6.79 1.222 ... 4
...
9.9 1.3 ... 8
如何在B中的pandas dataframe A中替换所有具有相同名称的列?
A B ... C D
cat cotsco... apple 1
cat walmart... google 2
dog sears... google 5
dog homemart... amazon 4
...
fish walmart... microsoft 8
我知道我可以做df1['D'] = df2['D']
。但是,我有2000个这样的列。还有另一种方便的方法吗?
答案 0 :(得分:2)
仅使用分配:
df1['D'] = df2['D']
如果需要添加具有不同列名称的多个列:
df = pd.concat([df1, df2[df2.columns.difference(df1.columns)]], axis=1)
或者:
df = df1.join(df2[df2.columns.difference(df1.columns)])