大熊猫附加不起作用;总是返回空数据帧

时间:2017-04-10 20:18:15

标签: python pandas

我试图将两个表排成一行(堆栈在彼此之上,就像在R中使用rbind一样)。我遵循了以下步骤:

Pandas version of rbind

how to combine two data frames in python pandas

但是“追加”或“连续”都没有为我工作。

关于我的数据

我有两个熊猫数据帧对象(类型类'pandas.core.frame.DataFrame'),它们都有19列。当我打印每个数据帧时,它们看起来很好。

问题

所以我使用以下方法创建了另一个熊猫数据框:

query_results = pd.DataFrame(columns=header_cols)

然后在一个循环中(因为有时我可能只合并了两个表)我试图将所有表组合在一起:

for CCC in CCCList:
    query_results.append(cost_center_query(cccode=CCC))

其中cost_center_query是一个自定义函数,并返回与query_results具有相同列名的pandas数据框对象。

但是,有了这个,每当我打印“query_results”时,我都会得到空的数据帧。

知道为什么会这样吗?没有错误信息,所以我只是困惑。 非常感谢您的任何建议!

1 个答案:

答案 0 :(得分:2)

考虑数据帧列表上的concat方法,避免在具有多个append调用的循环内进行对象扩展。甚至考虑列表理解:

query_results = pd.concat([cost_center_query(cccode=CCC) for CCC in CCCList], ignore_index=True)