我需要一點幫助。我想從資料框轉換為嵌套字典。
A B C
0 1 0 1.5
1 1 3,2 6.09
2 1 4 7.9
3 2 5 9.5
4 2 0 1.2
5 3 3 2.4
我想以這種格式轉換:
dict={1:[{'0':1.5},{'3,2':6.09},{'4':7.9}],2:[{'5':9.5},{'0':1.2}],3:[{'3',2.4}]}
uj5u.com熱心網友回復:
我們可以groupby做agg dict items
d = df.set_index('B').groupby('A').agg(lambda x : [{k:v} for k, v in dict(x).items()])['C'].to_dict()
Out[574]:
{1: [{'0': 1.5}, {'3,2': 6.09}, {'4': 7.9}],
2: [{'5': 9.5}, {'0': 1.2}],
3: [{'3': 2.4}]}
uj5u.com熱心網友回復:
這會給你一個字典,記住 dict 是 python 中的一個關鍵作業,所以你必須使用其他變數名而不是 dict。這里我使用了dict1。
dict1 = {1:[{'0':1.5, '3,2':6.09,'4':7.9}],2:[{'5':9.5,'0':1.2}],3:[{'3',2.4}]}
uj5u.com熱心網友回復:
與此解決方案非常相似:
df = df.set_index('B').groupby('A').apply(lambda x: [x['C'].to_dict()]).to_dict()
print(df)
'''
{1: [{'0': 1.5, '3,2': 6.09, '4': 7.9}],
2: [{'5': 9.5, '0': 1.2}],
3: [{'3': 2.4}]}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/439394.html
標籤:Python python-3.x 熊猫 数据框 字典
