首页 > 解决方案 > 如何将一个数据框添加到另一个就地?

问题描述

以下代码不会将 df2 添加到 df1 中。请注意,我必须f在这里使用一个函数。

>>> import pandas
>>> df1 = pandas.DataFrame({'A': [1, 2, 3], 'B': [11, 12, 13]})
>>> df2 = pandas.DataFrame({'C': [1, 2, 3], 'D': [11, 12, 13]})
>>> def f(df1, df2):
...     df1 = pandas.concat([df1, df2], axis=1)
...
>>> f(df1, df2)
>>> print(df1)
   A   B
0  1  11
1  2  12
2  3  13

谁能让我知道将 df1 修改为函数 f 中 f 的参数的最简洁方法,以便将 df2 中的所有列添加到其中?

标签: pythonpandas

解决方案


看来这是解决这个问题的最简洁的代码。

>>> import pandas
>>> df1 = pandas.DataFrame({'A': [1, 2, 3], 'B': [11, 12, 13]})
>>> df2 = pandas.DataFrame({'C': [1, 2, 3], 'D': [11, 12, 13]})
>>> def f(df1, df2):
...     df1[df2.columns] = df2
...
>>> f(df1, df2)
>>> print(df1)
   A   B  C   D
0  1  11  1  11
1  2  12  2  12
2  3  13  3  13

推荐阅读