我想按行合并(使用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.我做错了什么?
非常感谢任何帮助。
最诚挚的问候, 卡罗
答案 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)