【问题标题】:pandas concatenate list of data frames with different columns python熊猫用不同的列python连接数据框列表
【发布时间】:2019-02-15 20:35:45
【问题描述】:
data=pd.concat(a,ignore_index=True,axis=0)

a 是具有不同形状和列的数据帧列表,但大多数是相同的,我想将其连接成一个数据帧但收到错误。

“NoneType”对象没有属性“is_extension”

【问题讨论】:

  • df = pd.DataFrame.from_dict(map(dict,a)) @Vazgen
  • 我尝试了您的代码并收到错误“数据参数不能是迭代器”
  • 您能添加一个数据示例吗?我尝试使用具有不同形状和列的数据框列表运行 pd.concat。它有效。

标签: python pandas dataframe concatenation


【解决方案1】:

我假设您可以在非共享列中使用 None。像这样的东西会起作用。它使用append 在相应的DataFrames 中创建一个空列:

# generate a sample scenario
df1 = pd.DataFrame({
    'shared1': range(7),
    'col1': range(7)
})
df2 = pd.DataFrame({
    'shared1': range(7),
    'col2': range(7)
})

# make columns the same by adding empty columns
for c in df2.columns:
    if c not in df1.columns:
        df1[c] = None
for c in df1.columns:
    if c not in df2.columns:
        df2[c] = None
df1.append(df2)

【讨论】:

    猜你喜欢
    • 2020-10-13
    • 2015-12-03
    • 2015-07-31
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多