我试图将两个表排成一行(堆栈在彼此之上,就像在R中使用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”时,我都会得到空的数据帧。
知道为什么会这样吗?没有错误信息,所以我只是困惑。 非常感谢您的任何建议!
答案 0 :(得分:2)
考虑数据帧列表上的concat
方法,避免在具有多个append
调用的循环内进行对象扩展。甚至考虑列表理解:
query_results = pd.concat([cost_center_query(cccode=CCC) for CCC in CCCList], ignore_index=True)