【发布时间】:2019-01-11 20:18:53
【问题描述】:
如何根据日期将包含多个条目、日期和值的列表转换为 Pandas 数据框?例如:
给定以下列表:
list_ex = [{'Date': '12/31/2018', 'A': 'N/A'},
{'Date': '09/30/2018', 'A': '$5.75'},
{'Date': '06/30/2018', 'A': '$5.07'},
{'Date': '03/31/2018', 'A': '$3.27'},
{'Date': '12/31/2018', 'B': 'N/A'},
{'Date': '09/30/2018', 'B': '$56,576.00'},
{'Date': '06/30/2018', 'B': '$52,886.00'},
{'Date': '03/31/2018', 'B': '$51,042.00'}]
我们如何将其转换为如下所示的 Dataframe(另外,其中将有 4 或 5 个附加列):
Date A B
0 2018-12-31 N/A N/A
1 2018-09-30 $5.75 $56,576.00
2 2018-06-30 $5.07 $52,886.0
3 2018-03-31 $3.27 $51,042.00
我进行了多次搜索,但找不到任何可以帮助解决此问题的示例。因此,我做了两次糟糕的尝试,但都没有接近预期的输出。
尝试 1:我将字符串值转换为日期,然后希望数据框创建会“自动”按日期分组,但这显然不起作用,因为每个新添加都有一个新索引。尝试 1 产生了相同的(基本上)df。
for i in list_ex:
i['Date'] = datetime.datetime.strptime(i['Date'], '%m/%d/%Y')
# Print Pandas dataframe
df = pd.DataFrame(list_ex)
print(df)
尝试 2:按日期排序。这显然失败了,因为它只是按日期排序并保持相同的行数。
new_df = pd.sort_values('Date')
感谢您的宝贵时间。
【问题讨论】:
标签: python-3.x pandas datetime dataframe