【发布时间】:2020-02-04 22:38:17
【问题描述】:
我有一个这样的字典列表:
my_list = [
{
'Currency': 'USD',
'Product': 'a',
'Quantity': {
'Apr 2019': 1.0,
'Jun 2019': 7.0
}
},
{
'Currency': 'USD',
'Product': 'b',
'Quantity': {
'Jan 2019': 4.0,
'Feb 2019': 8.0
}
}
]
我想要一个这样的数据框:
Currency Product Quantity Date
'USD' 'a' 1 Apr 2019
'USD' 'a' 7 Jun 2019
'USD' 'b' 4 Jan 2019
'USD' 'b' 8 Feb 2019
目前我正在这样做:
for element in my_list :
currency = element.get('Currency')
product = element.get('Product')
dates = list(element.get('Quantity').keys())
for date in dates:
quantity = element.get('Quantity')[date]
row = [currency, product, quantity, date]
df.loc[df.shape[0]] = row
但我想有一种更好的方法来代替列表中的循环和
pd.DataFrame.from_dict(my_list)
如果数量只有一个值,则有效(使用 .apply 稍作修改)
谢谢
【问题讨论】:
标签: python pandas list dataframe dictionary