如何将同名的pandas列替换为另一个数据帧?

时间:2017-10-17 11:23:46

标签: python python-2.7 pandas

我有以下大型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个这样的列。还有另一种方便的方法吗?

1 个答案:

答案 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)])