我如何能夠重新排列字典的值a,使其變成a2. 所有的columns值都將變成具有相應值的鍵。我如何才能獲得下面的預期輸出?
代碼:
a = {'columns': ['Month Average',
'Month Median',
'Month Max'],
'data': [[0.0,
0.0,
0.0],
[0.0,
0.0,
0.0],
[-15.15,
48.55384615384616,
3.85]],
'index': [2015, 2016, 2017]}
預期輸出:
a = {
'index': [2015, 2016, 2017],
'Month Average':[0.0,0.0,0.0],
'Month Median': [0.0,0.0,0.0],
'Month Max': [-15.15,48.55384615384616,3.85]
}
uj5u.com熱心網友回復:
第一個非熊貓解決方案:
a2 = {**{'index':a['index']}, **dict(zip(a['columns'], a['data']))}
print (a2)
{'index': [2015, 2016, 2017], 'Month Average': [0.0, 0.0, 0.0], 'Month Median': [0.0, 0.0, 0.0], 'Month Max': [-15.15, 48.55384615384616, 3.85]}
使用DataFrame建構式:
df = pd.DataFrame(a['data'], index=a['index'], columns=a['columns'])
#if only data, index and columns keys use unpack **
df = pd.DataFrame(**a)
print (df)
Month Average Month Median Month Max
2015 0.00 0.000000 0.00
2016 0.00 0.000000 0.00
2017 -15.15 48.553846 3.85
如果需要index列:
df = pd.DataFrame(**a).reset_index()
print (df)
index Month Average Month Median Month Max
0 2015 0.00 0.000000 0.00
1 2016 0.00 0.000000 0.00
2 2017 -15.15 48.553846 3.85
最后如果需要字典:
a2 = df.to_dict(orient='list')
uj5u.com熱心網友回復:
這是一個奇怪的問題。它似乎是為熊貓量身定做的,但只涉及dict...但你應該能夠做到:
pd.DataFrame(**a).reset_index().to_dict(orient="list")
或者,使用純 python:
dict(zip(a['columns'], a['data']), index=a['index'])
不知道為什么你會在這里涉及熊貓......
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/401163.html
