熊猫用不同的列python连接数据框列表
Posted
技术标签:
【中文标题】熊猫用不同的列python连接数据框列表【英文标题】:pandas concatenate list of data frames with different columns python 【发布时间】:2019-02-15 20:35:45 【问题描述】:data=pd.concat(a,ignore_index=True,axis=0)
a 是具有不同形状和列的数据帧列表,但大多数是相同的,我想将其连接成一个数据帧但收到错误。
“NoneType”对象没有属性“is_extension”
【问题讨论】:
请提供minimal,complete and verifiable 示例 df = pd.DataFrame.from_dict(map(dict,a)) @Vazgen 我尝试了您的代码并收到错误“数据参数不能是迭代器” 您能添加一个数据示例吗?我尝试使用具有不同形状和列的数据框列表运行 pd.concat。它有效。 【参考方案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)
【讨论】:
以上是关于熊猫用不同的列python连接数据框列表的主要内容,如果未能解决你的问题,请参考以下文章
Python Pandas - 连接两个具有不同行数和列数的数据框