如何在Python中按行追加Dataframe

时间:2018-05-03 17:47:18

标签: python pandas dataframe append

我想按行合并(使用df.append())一些python数据帧。 下面报告的代码首先读取输入json_dir_path中的所有json文件,它读取包含csv文件存储的完整路径的input_fn = json_data["accPreparedCSVFileName"],并在数据框中读取{{1} }}。当我尝试合并df_i时,我没有获得所需的结果。

df_output = df_i.append(df_output)

我只有12个文件被合并出来12.我做错了什么?

非常感谢任何帮助。

最诚挚的问候, 卡罗

2 个答案:

答案 0 :(得分:1)

您还可以在追加时设置ignore_index=True

df_output = df_i.append(df_output, ignore_index=True)

您也可以连接数据帧:

df_output = pd.concat((df_output, df_i), axis=0, ignore_index=True)

正如@jpp在他的回答中建议的那样,你可以加载数据帧列表并将它们连接起来。

答案 1 :(得分:1)

我强烈建议您在循环中连接数据框。

将数据帧存储在列表中,然后在一次调用中连接列表中的项目会更有效。例如:

lst = []

for fn in input_fn:
    lst.append(pd.read_csv(fn))

df_output = pd.concat(lst, ignore_index=True)