簡體   English   中英

從列表字典中讀取 dataframe

[英]Reading dataframe from dictionary of lists

我有一本像下面這樣的字典:

d={0:[('cat_a', 15),('cat_b', 12)], 
1: [('cat_a',10),('cat_b',7)],
2:[('cat_a', 12),('cat_b', 8)]}

通過使用以下方法,我得到了 dataframe:

data = [l for l in d.values()]
df=pd.DataFrame(data,columns=['cat_a','cat_b'])

在每一列中,我得到元組,其中我只需要數值。

嘗試:

df = pd.DataFrame(map(dict, d.values()))
print(df)

印刷:

   cat_a  cat_b
0     15     12
1     10      7
2     12      8

您可以使用:

df = pd.DataFrame.from_dict({k: {k2:v2 for k2,v2 in l} for k,l in d.items()}, orient='index')

# or for a functional approach like that of @Andrej
df = pd.DataFrame.from_dict(dict(zip(d, map(dict, d.values()))), orient='index')

output:

   cat_a  cat_b
0     15     12
1      7     10
2     12      8

使用的輸入:

d = {0: [('cat_a', 15),('cat_b', 12)], 
     1: [('cat_b',10),('cat_a',7)],
     2: [('cat_a', 12),('cat_b', 8)]}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM