我有一个 for 循环生成不同的 pandas 数据帧,我想按顺序保存其值

I have a for loop that generates different pandas dataframes whose values I want to save sequentially

我制作了一个 for 循环,在每次迭代时创建不同的 pandas 数据帧。像这样的东西-> 第一次迭代:

index Letter Value
0 A 1
1 B 2
2 C 3

第二次迭代:

index Letter Value
0 C 5
1 D 3
2 E 1
3 F 2

第三次迭代:

index Letter Value
0 A 2
1 F 1

我想将每个数据帧保存到一个新的数据帧中,如下所示:

index Letter Value Value Value
0 A 1 2
1 B 2
2 C 3 5
3 D 3
4 E 1
5 F 2 1

此外,每次迭代都会出现新的字母,例如,如果 'G' 在交互 'n' 中首次出现,则需要在所需的合并数据框上创建一个新行.

您可以将 Letter 作为每个数据帧的索引,然后将 pd.concataxis=1 一起使用:

dataframes = [df1, df2, df3]
new_df = pd.concat([d.set_index('Letter') for d in dataframes], axis=1)

输出:

>>> new_df
        Value  Value  Value
Letter                     
A       1.0   NaN     2.0  
B       2.0   NaN    NaN   
C       3.0    5.0   NaN   
D      NaN     3.0   NaN   
E      NaN     1.0   NaN   
F      NaN     2.0    1.0