我有一個熊貓資料框,它看起來像這樣:
person weight height skill
kate 160 200 100
john 170 150 70
我已將 person 列設定為我的 python 資料框的索引。然后我用這個.to_dict()方法把它變成了字典。這給出了以下字典:
{'weight': {'kate': '160', 'john': '170'},
'height': {'kate': '200', 'john': '150'},
'skill': {'kate': '100', 'john': '70'},
我需要改變周圍,以便字典是每個人的,但我不知道它是否可以在 python 中完成。我需要我的字典看起來像:
{'Kate: { weight': '160', 'height': '200', 'skill': '100'},
'John': {'weight': '170', 'height': '150', 'skill': '70'}}
是否有可能做到這一點?
uj5u.com熱心網友回復:
您可以設定person為索引,并使用to_dict與orientARG設定為index。
df.set_index('person').to_dict('index')
# {'kate': {'weight': 160, 'height': 200, 'skill': 100},
# 'john': {'weight': 170, 'height': 150, 'skill': 70}}
uj5u.com熱心網友回復:
您可以轉置您的 df 并使用 to_dict。
df.set_index('person').T.to_dict()
輸出:
{'kate': {'weight': '160', 'height': '200', 'skill': '100'},
'john': {'weight': '170', 'height': '150', 'skill': '70'}}
uj5u.com熱心網友回復:
您可以使用 .to_dict() 引數orient = 'index'從索引構建(如果列 'pearson' 是資料框的索引),或者您可以使用 .T 轉置資料框并執行 .to_dict() 操作
df = pd.DataFrame({'person' : ['kate', 'john'], 'weight' : [160,170], 'height' : [200,150],'skill' : [100, 70]})
df = df.set_index('person')
# Solution orient
print(df.to_dict(orient='index')
# {'kate': {'weight': 160, 'height': 200, 'skill': 100}, 'john': {'weight': 170, 'height': 150, 'skill': 70}}
# Solution transpose
print(df.T.to_dict())
# {'kate': {'weight': 160, 'height': 200, 'skill': 100}, 'john': {'weight': 170, 'height': 150, 'skill': 70}}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/360269.html
