python - 如何将一个数据框添加到另一个就地?
问题描述
以下代码不会将 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 中的所有列添加到其中?
解决方案
看来这是解决这个问题的最简洁的代码。
>>> 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
推荐阅读
- android - 我如何接收可打包的包裹?
- java - 保存实体后休眠一对一和多对一关系的奇怪行为
- jquery - 如何将pdfmake脚本添加到数据表
- javascript - 使用 redux 表单时字段中不显示值
- ruby-on-rails - Rails ActiveStorage - 通过 Rails 控制台访问
- linux - Jenkins 显示错误 chrome 无法访问
- php - 图像源在 Laravel 中不可读
- python - Python CSV Writerow 附加一个 for 循环?
- sql - 从 T-SQL 中的列中的表达式获取特定字符串
- php - 如何为调用外部 API 的 Laravel Artisan 命令编写 PHPUnit 测试,而无需物理调用该 API?