-1
我有一個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和字典中的每個鍵的附加列。字典中的鍵值對是固定的。
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多秒,這是不可接受的。我希望使用熊貓具體適用或其他功能可以使這個更快,但一直沒有能夠這樣做。如果有一個非常快的方法來做到這一點,我會非常感激。謝謝。
嗨。謝謝您的幫助。這是否依賴於df中的列數。 Iam得到ValueError:長度不匹配:期望軸有2個元素,新值有5個元素。我有更多的列不只是COL1和COL2。並且在詞典中有5個鍵值對 – Fizi
Nevermind!它效果很好。唯一會引起爭議的是列級別* *是否可以深入瞭解你正在做的事情。它真的很酷,我很想了解它 – Fizi
@Fizi我把它稱爲unlistify或unnest問題,你可以在這裏查看,https://stackoverflow.com/questions/45885143/explode-lists-with-different-lengths-in-熊貓/ 45885337#comment78730894_45885337 – Wen