【发布时间】:2016-11-24 02:17:00
【问题描述】:
我有一个有 2000 万行的 train pandas df 和一个有大约 1000 万行的 test pandas df。
我想将 LabelEncoder() 应用到两个 df 中的列,但我在笔记本电脑甚至 64 gig RAM AWS 实例上不断收到Memory Error。
有没有一种方法可以在不丢失映射的情况下分块处理?
这是我使用的代码:
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
for col in cols_to_encode:
le.fit(list(train[col])+list(test[col]))
train[col] = le.transform(train[col])
test[col] = le.transform(test[col])
我从每行中采样了 500,000 行,并且能够毫无错误地运行代码,所以我知道这不是语法错误之类的。
任何帮助将不胜感激。
【问题讨论】:
标签: python pandas scikit-learn