dict_abc = {'A': [[1, 2, 3], [4, 5, 6], [7, 8, 9]],
'B': [[4, 4, 4], [2, 2, 3],],
'C': [[4, 6, 0]]
}
我想將其轉換為表單中的資料框
| x | y | z |
A 1 2 3
A 4 5 6
A 7 8 9
B 4 4 4
B 2 2 3
C 4 6 0
uj5u.com熱心網友回復:
一個選項,讀作 Series,explode然后再次轉換為 DataFrame:
s = pd.Series(dict_abc).explode()
df = pd.DataFrame(s.to_list(), index=s.index, columns=['x', 'y', 'z'])
輸出:
x y y
A 1 2 3
A 4 5 6
A 7 8 9
B 4 4 4
B 2 2 3
C 4 6 0
uj5u.com熱心網友回復:
采用:
In [2471]: x = pd.DataFrame.from_dict(dict_abc, orient='index').stack()
In [2478]: df = pd.DataFrame(x.tolist(), index=x.index, columns=['x', 'y', 'z']).droplevel(1)
In [2479]: df
Out[2479]:
x y z
A 1 2 3
A 4 5 6
A 7 8 9
B 4 4 4
B 2 2 3
C 4 6 0
uj5u.com熱心網友回復:
使用itertools.chain:
from itertools import chain
df = pd.DataFrame(itertools.chain.from_iterable(dict_abc.values()),
columns=['x', 'y', 'z'],
index=chain.from_iterable([k]*len(v) for k,v in dict_abc.items()))
輸出:
x y z
A 1 2 3
A 4 5 6
A 7 8 9
B 4 4 4
B 2 2 3
C 4 6 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/448997.html
標籤:数组 python-3.x 熊猫 麻木的 字典
上一篇:解決Pandas資料框中的沖突
下一篇:TensorFlow中的專案分配
