首页 > 解决方案 > 如何加入两个熊猫数据框?

问题描述

我有两个数据框。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)

标签: pythonpandasdataframeconcat

解决方案


看来您需要使用“加入”。尝试这个:

df1.join(df2,on="key_colname")

还有设置后缀的参数(lsuffix 和 rsuffix),当然还有如何加入(“如何”参数可以设置为:左、右、外、内。默认情况下是左)。


推荐阅读