2015-07-21 32 views
4

我想在一個循環中創建數據幀,但使用一個密鑰來命名每個數據幀,以避免覆蓋循環中的每個數據幀。如何通過Python中的鍵在循環中命名熊貓數據框?

這裏是我的數據幀的簡化版本:

ID Field Value 
1  A  1.1 
2  A  1.2 
3  A  2.4 
4  B  1.7 
5  B  4.3 
6  C  2.2 

因此,在這種情況下,我想用命名爲A,B和C 3個數據幀落得所以這是我累了:

df2= df.groupby(['Field']) 
for key, group in df2: 
    key = group.reset_index() 

但ofcourse名稱「鑰匙」獲取與每個逐次循環覆蓋。 如何使用密鑰命名循環中的每個數據幀?

我也希望創建一個創建的數據框的列表以跟蹤它們。

回答

8

你想你的對象存儲在一個字典:

df_dict = {} 
for key, group in df2: 
    df_dict[key] = group.reset_index() 
+0

謝謝你完美的作品! – Gman

2

使用字典理解,更簡潔的解決方案如下:

df_new = {field: df.loc[df.Field == field, :] for field in df.Field.unique()} 
相關問題