0
我手边的问题,我有看起来像如下所示的数据帧:转换稀疏数据帧到密数据帧在python有效
输入数据帧:
VEHICLE_HASH LS_ID UPPER_BOUND LS_RATIO
00061E31E25B36 PROMISELS103 2500.0 0.000684
00061E31E25B36 PROMISELS103a 3000.0 0.002001
00061E31E25B36 PROMISELS104 3500.0 0.004128
0006254DB52066 PROMISELS104 4000.0 0.003216
0006254DB52066 PROMISELS103 4500.0 0.001114
0006254DB52066 PROMISELS105 5000.0 0.020767
这是一个采样数据帧,实际数据帧的大小为(53526122 x 4)
。现在我想把这个数据帧转换成一个OneHotEncoded矩阵,其特征从字符串LS_ID
和UPPER_BOUND
组合而成。我能够做一个热门的编码,并将矩阵转换为稀疏矩阵,然后将稀疏矩阵与LS_ratio
相乘,以得到我的xgboost分类器生成的输入稀疏矩阵。
现在我想将数据帧转换为这种密集的格式,每行有一个独特的HASH
多列功能,所以我可以用这些数据做PCA。但我得到out of memmory error
。这可以有效地完成吗?
预期输出:
HASH PROMISELS103a_3000.0 PROMISELS103_2500.0 PROMISELS103_4500.0 PROMISELS104_3500.0 PROMISELS104_4000.0 PROMISELS105_5000.0
00061E31E25B36 0.002001 0.000684 0 0 0.004128 0
0006254DB52066 0 0 0.001114 0.003216 0 0.020767
感谢它非常有效地工作.. – ayaan