我有一个5M条记录和40万个带有两列的组的pandas数据框,我正在尝试将行拆成几列,并将所有列的值连接到一个列中。为了说明,我从数据框中获取了一部分数据
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()
这给了我一个错误,说:
未堆积的数据框太大,导致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
}
我有创建字典的代码,就像我尝试处理数据的子集一样,它正在运行。
当我为完整数据尝试相同的代码时,它不起作用。如果有人可以建议我如何处理完整数据,我将非常感谢。