首页 > 解决方案 > 将 Pandas 数据框与相似的列相结合

问题描述

如果我有 2 个如下所示的 Pandas DataFrame:

框架1:

可乐 col_b col_x col_y col_z
来源_1 1 2 3 4 5

框架2:

可乐 col_b col_c 寒冷的 col_x col_y
来源_2 6 7 8 9 10 11

如何将这些组合成一个看起来像这样的新 DataFrame?

可乐 col_b col_c 寒冷的 col_x col_y col_z
来源_1 1 2 0 0 3 4 5
来源_2 6 7 8 9 10 11 0

我并不真正关心“source_1”、“col_c”(或其他缺失值)的值;我可以稍后整理。现在,尝试pandas.concat,我得到这个错误:Number of manager items must equal union of block items

理想情况下,我想合并并保持列的顺序。

标签: pythonpandas

解决方案


我没有得到那个错误pd.concat。这对我有用:

import pandas as pd
df1 = pd.DataFrame([[1,2,3,4,5]], index=['df1'], columns=list('abxyz'))
df2 = pd.DataFrame([[6,7,8,9,10,11]], index=['df2'], columns=list('abcdxy'))
pd.concat([df1, df2])
一种 b X 是的 z C d
df1 1 2 3 4 5.0
df2 6 7 10 11 8.0 9.0

推荐阅读