我有以下 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 数据框 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 个这样的列。有没有另一种方便的方法来做到这一点?

最佳答案

仅使用分配:

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

关于python - 如何将同名的 Pandas 列替换到另一个数据框中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46788987/

10-13 09:52