【发布时间】:2020-04-18 17:26:09
【问题描述】:
考虑以下示例
data1 = [{'type': 'one', 'delta': '1', 'time': '2019'}, {'type': 'two', 'delta': '1', 'time': '2018'}]
data2 = [{'type': 'one', 'delta': '1', 'time': '2013'}, {'type': 'two', 'delta': '1', 'time': '2012'}]
dftest = pd.DataFrame({'weirdjson' : [data1, data2]})
dftest['normalcol'] = 1
dftest
Out[79]:
weirdjson normalcol time_type_one time_type_two
0 [{'type': 'one', 'delta': '1', 'time': '2019'}, {'type': 'two', 'delta': '1', 'time': '2018'}] 1 2019 2018
1 [{'type': 'one', 'delta': '1', 'time': '2013'}, {'type': 'two', 'delta': '1', 'time': '2012'}] 1 2013 2012
基本上,我想创建两列time_type_one 和time_type_two,每列都包含它们对应的time 值(第一行:2019 对应type one,2018 对应type two) .
如何在 Pandas 中做到这一点?我有很多行,所以我正在寻找非常有效的东西。 谢谢!
【问题讨论】:
-
我没有投反对票,但我认为人们投反对票,因为没有显示任何尝试。另外,如果我们复制此数据框,它将被复制为字符串列,而不是字典列表。因此,最好将您的示例数据框作为可复制代码包含在
pd.DataFrame(..) -
好点。让我改变一下
-
既然你在它。最好以数据框的形式包含预期输出,这样人们就可以直观地看到您尝试做什么。
-
我觉得你可以看看这个:stackoverflow.com/questions/39899005/…
-
问题已更新!