合并一组Pandas DataFrame的字典

4
我有一个Python 3 Pandas DataFrame字典,每个DataFrame的结构如下所示 -
time  animal_id       x       y  Distance  Average_Speed  Average_Acceleration  Direction
0    1.0      312.0  405.29  417.76  0.000000       0.000000                   0.0   0.000000
5    2.0      312.0  405.31  417.37  0.070000       0.082164                   0.0 -90.000000
10   3.0      312.0  405.31  417.07  0.215407       0.157562                   0.0 -68.198591
15   4.0      312.0  405.30  416.86  0.192354       0.171618                   0.0 -62.102729
20   5.0      312.0  405.29  416.71  0.162788       0.182343                   0.0 -47.489553

每个五个Pandas DataFrame 的尺寸/形状为-
for animal_id in data_animal_id_groups.keys():
    data_animal_id_groups[animal_id].reset_index(drop = True)

Animal ID = 312, Shape = (43201, 4)
Animal ID = 511, Shape = (43201, 4)
Animal ID = 607, Shape = (43201, 4)
Animal ID = 811, Shape = (43201, 4)
Animal ID = 905, Shape = (43201, 4)

我想将字典对象中包含的5个或一般n个Pandas DataFrame合并成一个CSV文件。我该怎么做?

请注意,每个Pandas DataFrame的结构将保持不变。但是,行数可能会有所变化。

谢谢!


合并的关键是什么? - BENY
2个回答

4

使用 dict 可以使用 concat

pd.concat(data_animal_id_groups.values()) #.to_csv('youfile.csv')

2
这应该可以解决问题:

最初的回答:

df = pd.DataFrame() # Create an empty dataframe, this will be your final dataframe

for key, sub_df in data_animal_id_groups.items():
    df = df.append(sub_df, ignore_index=False) # Add your sub_df one by one

print(df)

如果您想将其保存为csv文件:

最初的回答:

df.to_csv("merged_dataframe.csv")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接