我有一個字典串列。每四個具有相同的鍵但不同的值。
[[{'Vanilla Shake': {'Calories': '505.3532687092'}}],
[{'Vanilla Shake': {'Protein': '10.7838768505'}}],
[{'Vanilla Shake': {'Carbohydrates': '83.7223214166'}}],
[{'Vanilla Shake': {'Total Fat': '13.4791543506'}}],
[{'Strawberry Banana Smoothie': {'Calories': '190.850660517368'}}],
[{'Strawberry Banana Smoothie': {'Protein': '2.36839224103716'}}],
[{'Strawberry Banana Smoothie': {'Carbohydrates': '43.97617701140'}}],
[{'Strawberry Banana Smoothie': {'Total Fat': '0.61041563715716'}}],
[{'Mango Pineapple Smoothie': {'Calories': '195.973576950716'}}],
[{'Mango Pineapple Smoothie': {'Protein': '2.20945589054832'}}],
[{'Mango Pineapple Smoothie': {'Carbohydrates': '45.2678057742512'}}],
[{'Mango Pineapple Smoothie': {'Total Fat': '0.64903335741716'}}],
[{'Fruit & Maple Oatmeal': {'Calories': '319.5439'}}],
[{'Fruit & Maple Oatmeal': {'Protein': '5.86934'}}],
[{'Fruit & Maple Oatmeal': {'Carbohydrates': '63.87831'}}],
[{'Fruit & Maple Oatmeal': {'Total Fat': '4.48686'}}]]
我最終需要獲得以下型別的資料庫條目:

你能告訴我最好的轉換嗎?
我已經嘗試轉換為 pandas.Dataframe,但我不確定在匯入資料庫時??是否會得到正確的結果。還是我錯了?
謝謝!
uj5u.com熱心網友回復:
假設l輸入串列,您可以執行以下操作:
from itertools import chain
df = (pd.concat(map(pd.DataFrame, chain.from_iterable(l)))
.groupby(level=0).first()
.T
)
或使用大字典理解,應該更快:
df = (pd.Series({(k,k2): v2 for l1 in l for d in l1
for k,v in d.items() for k2,v2 in v.items()})
.unstack(level=1)
)
輸出:
Calories Carbohydrates Protein Total Fat
Fruit & Maple Oatmeal 319.5439 63.87831 5.86934 4.48686
Mango Pineapple Smoothie 195.973576950716 45.2678057742512 2.20945589054832 0.64903335741716
Strawberry Banana Smoothie 190.850660517368 43.97617701140 2.36839224103716 0.61041563715716
Vanilla Shake 505.3532687092 83.7223214166 10.7838768505 13.4791543506
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/441439.html
