我有一個資料框,我想把它變成一個系列字典。這是我的資料框和現有的代碼行,除了在一種情況下(當該系列只有一項時)之外有效。
df = pd.DataFrame({'col_1': ['Fruit', 'Apple', 'Pear','Orange','Vegtable','Pea','Lettus','Meat','Beef'],
'col_2': ['Fruit', .25, .25,.5,'Vegtable',.6,.4,'Meat',1],
'group':[1,1,1,1,2,2,2,3,3]})
dict_of_series = {g['col_2'].iat[0]:g.set_axis(g.iloc[0], axis=1).set_axis(g['col_1']).iloc[1:, 1:-1].squeeze() for i, g in df.groupby('group')}


只要一個組有三行,該代碼就可以作業,但偶爾我有 2 行(如在我的牛肉價值消失的肉中)。具體來說,這就是我希望它看起來像......

謝謝
PS 這是一個類似的問題鏈接
uj5u.com熱心網友回復:
嘗試:
output = {x.iat[0,0]: pd.Series(x.set_index("col_1").iloc[1:,0], name=x.iat[0,0]) for _, x in df.groupby("group")}
>>> output
{'Fruit': col_1
Apple 0.25
Pear 0.25
Orange 0.5
Name: Fruit, dtype: object,
'Vegtable': col_1
Pea 0.6
Lettus 0.4
Name: Vegtable, dtype: object,
'Meat': col_1
Beef 1
Name: Meat, dtype: object}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/468520.html
