python - 如何加入两个熊猫数据框?
问题描述
我有两个数据框。df1 的形状为 (64, 10),而 df2 的形状为 (64, 1)。
我一直在尝试将两者连接起来,但它显示错误。
它一直困扰着我一段时间。谢谢!
pdff = pd.concat([df1, df2], ignore_index=True, sort=False, axis=1)
File "C:\Python37\lib\site-packages\pandas\core\reshape\concat.py", line 287, in concat
return op.get_result()
File "C:\Python37\lib\site-packages\pandas\core\reshape\concat.py", line 503, in get_result
mgrs_indexers, self.new_axes, concat_axis=self.bm_axis, copy=self.copy,
File "C:\Python37\lib\site-packages\pandas\core\internals\concat.py", line 84, in concatenate_block_managers
return BlockManager(blocks, axes)
File "C:\Python37\lib\site-packages\pandas\core\internals\managers.py", line 149, in __init__
self._verify_integrity()
File "C:\Python37\lib\site-packages\pandas\core\internals\managers.py", line 326, in _verify_integrity
raise construction_error(tot_items, block.shape[1:], self.axes)
ValueError: Shape of passed values is (4159, 11), indices imply (127, 11)
解决方案
看来您需要使用“加入”。尝试这个:
df1.join(df2,on="key_colname")
还有设置后缀的参数(lsuffix 和 rsuffix),当然还有如何加入(“如何”参数可以设置为:左、右、外、内。默认情况下是左)。
推荐阅读
- tsql - 我可以使用 PK/FK 关系来避免在 JOIN 中使用 ON 吗?
- fonts - 如何填充轮廓字体
- c++ - gethostbyname() 和 getlogin_r() 等函数在远程调试时停止运行时执行
- python - 将python代码转换为Go进行json编码
- python - Python,openpyxl:下载多个 excel 表
- sql - 具有聚合函数和 group by 子句的 SQL 查询
- javascript - 单击输入字段时,ANTD 下拉菜单不应关闭
- javascript - 如果键存在,则从对象中获取与整数键关联的值 (JavaScript)
- git - 克隆 repo,只有几个可用的分支
- jestjs - 无法使用 jest-puppeteer 运行 Jest Snapshot 测试