熊猫:迭代级联存储在dataframes

问题描述:

的字典列

假设我有的pandas dataframes,其中键是0, 1, 2, ..., 999一个字典,并且这些值都是这样dataframes(test_df):熊猫:迭代级联存储在dataframes

  A   B   C 
0 1.438161 -0.210454 -1.983704 
1 -0.283780 -0.371773 0.017580 
2 0.552564 -0.610548 0.257276 
3 1.931332 0.649179 -1.349062 
4 1.656010 -1.373263 1.333079 
5 0.944862 -0.657849 1.526811 

说,索引意味着什么给你,并要建立一个新的数据帧,其中,列AB被连接:

mydf=pd.concat([test_df[0]['A'],test_df[0]['B']], axis=1, keys=['A','B'])

现在,我可以在for循环中使用这一行,它遍历我的数据框字典中的所有键?

如果不是,那么将采取另一种方式做到这一点?结果将是一个有两列的数据帧,分别为AB6x1000行。索引列因此将从0变为5999

如果df_dic是你的字典里,你可以这样做:

pd.concat([df[['A', 'B']] for df in df_dic.values()]).reset_index(drop=True) 

下面是结果是什么样子,如果df_dic包含两个键值对:

enter image description here

+0

就放心:我认为我不会失去A-to-B配对,对吗? – FaCoffee

+1

当你做'df [['A','B']]'时,它从你的数据框中选择列'A'和'B',所以列表理解创建一个数据框列表,其中'A'和'来自每个数据帧的“B”与原始数据帧中的顺序相同。所以是的,它不应该。 – Psidom