我有一个 Pandas 数据框
date_hour content
0 2016-10-17 00:00:00 [{"81": 0.0, "82": 0.0, "83": 0.0}]
1 2016-10-17 01:00:00 [{"81": 0.0, "82": 0.0, "83": 0.0}]
我想将 df.content 扁平化为这样的数据框
81 82 83
2016-10-17 00:00:00 0 0 0
2016-10-17 01:00:00 0 0 0
我怎样才能做到这一点?
我试过:
# work for one item, though I can concat them, but it's slow(I have each json of 7k k/v pairs), took 2.5s for each
pd.read_json(df.head(1).content.item(), orient='records')
使用str[0]
获取第一个元素
pd.DataFrame(df.content.str[0].tolist()).set_index(df.date_hour)
81 82 83
date_hour
2016-10-17 00:00:00 0.0 0.0 0.0
2016-10-17 01:00:00 0.0 0.0 0.0
我是一名优秀的程序员,十分优秀!