我有一個像這樣的資料框:
subject score_A score_B score_C
math 90 75 50
art 85 65 45
econ 90 80 60
我想讓它們變成像這樣的字典:
{
'math':{'A': 90,
'B': 75,
'C': 50},
'art': {'A': 85,
'B': 65,
'C': 45},
'econ':{'A': 90,
'B': 80,
'C': 60},
}
實際的資料框更長,更寬一些(每個主題的鍵比 A、B 和 C 多)。
我想這與生成 A、B、C 等低級鍵的串列并使用該zip功能有關,但我有限的嘗試都沒有奏效。
uj5u.com熱心網友回復:
您可以設定subject為索引,然后to_dict與orient引數一起使用 -
df.set_index('subject').to_dict(orient='index')
uj5u.com熱心網友回復:
您可以先生成字典串列,然后使用 zip 構建最終字典。
dict(zip(df["subject"], [dict(df.iloc[i, 1:]) for i in range(len(df))]))
回圈遍歷資料框當然有點難看。
uj5u.com熱心網友回復:
我想你可以使用 to_dict()。你可以在下面的鏈接中找到答案
將 Pandas DataFrame 轉換為字典
uj5u.com熱心網友回復:
在將 DataFrame 轉換為_dict 之前使用set_index和轉置
df.set_index("subject").T.to_dict()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/453486.html
