【发布时间】:2018-02-23 13:06:47
【问题描述】:
我有一个看起来像这样的 df
COL1 COL2 COL3
0 ABC N [{u'PERF_PCT': 0.2,u'PERF_DATE': 12},{u'PERF_PCT': 0.3,u'PERF_DATE': 13}]
1 XYZ N [{u'PERF_PCT': 0.6,u'PERF_DATE': 12},{u'PERF_PCT': 0.2,u'PERF_DATE': 13},{u'PERF_PCT': 0.7,u'PERF_DATE': 14}]
我需要解压缩第 3 列,以便数据框为 COL3 列表中的每个字典添加额外的行,并为字典中的每个键添加额外的列。 dict中的键值对是固定的。
COL1 COL2 PERF_PCT PERF_DATE
0 ABC N 0.2 12
1 ABC N 0.3 13
2 XYZ N 0.6 12
3 XYZ N 0.2 13
4 XYZ N 0.7 14
我已经能够使用 for 循环来完成相同的任务,但我需要一些非常高性能的东西。结果 df 可以有大约 170k 条记录,当前使用 for 循环大约需要 20 多秒,这是不可接受的。我希望使用 pandas 特定的 apply 或其他功能可以使这更快,但无法做到。如果有一种非常快速的方法可以做到这一点,我将不胜感激。谢谢。
【问题讨论】: