首页 > 解决方案 > 拆散大型分组熊猫数据框

问题描述

我有一个包含 500 万条记录和 400k 组的熊猫数据框,其中包含两列,我正在尝试将行拆分为列,并将列的所有值合并到一个列中。为了解释,我从我的数据框中获取了一部分数据

EVENT_ID     DIAGNOSIS
  24601           637
  24601          1561
  24601           360
  24601          3002
  82903          1580
  82903           923
  82903           986
  94261          1940
  94261          2353
  94261          4553

我尝试使用以下代码来旋转数据框。

df_pivot = df.pivot(index='EVENT_ID', columns='DIAGNOSIS', values ='DIAGNOSIS').add_prefix('').reset_index()

它给了我一个错误说:

Unstacked Dataframe 太大,导致 int32 溢出

我拿了一个子集来看看它是否有效并且确实有效。

我希望我的数据框看起来像

EVENT_ID  637  1561  360  3002 1580 923 986 231 1940 2353 4553  all_diagnosis
  24601    637  1561  360  3002                                  637|1561|360|3001
  82903                         1580 923 986                     1580|923|986
  94261                                          1940 2353 4553 1940|2353|4553 

最终我想为 EVENT_ID: all_echos 创建一个字典,它看起来像:

{
24601 : 637|1561|360|3001
82903 : 1580|923|986
94261 : 1940|2353|4553 
}

当我尝试数据子集并且它正在工作时,我有创建字典的代码。

当我为完整数据尝试相同的代码时,它不起作用。如果有人可以向我建议如何获取完整数据,我将不胜感激。

标签: pandaspython-2.7dataframe

解决方案


推荐阅读