我有一个大约37,000行和54列的数据框架。在这54个列中,有两个列,即“user_id”和“mail_id”,格式非常怪异,如下所示:
user_id mail_id
AR+tMy3H/E+Re8Id20zUIz+amJkv6KU12o+BrgIDin0= DQ/4I+GIOz2ZoIiK0Lg0AkwnI35XotghgUK/MYc101I=
1P4AOvdzJzhDSHi7jJ3udWv4ajpKxOn4T/rCLv4PrXU= BL3z4RtiyfIDydaRYWX2ZXL6IX10QH1yG5ak1s/8Lls=
OEfFUcsTAGInCfsHuLZuIgdSNtuNsg8EdfN98VUZVTs= BL3z4RtiyfIDydaRYWX2ZXL6IX10QH1yG5ak1s/8Lls=
1P4AOvdzJzhDSHi7jJ3udWv4ajpKxOn4T/rCLv4PrXU= EHNBRbi6i9KO6cMHsuDPFjZVp2cY3RH+BiOKwPwzLQs=
CYRcuV0cR0algMZJ1N6+3uKcqi8iu+6tJNzmBbmgN7o= K0y/NW59TJkYc5y0HUwDeAXrewYT0JQlkcozz0s2V5Q=在对我的数据进行了详细分析之后,我发现我不能从我的数据框架中删除这两列,因为它们对于预测来说太重要了。我可以散列这两个特性,但还有一件有趣的事情。只有2,000个类型的user_ids和mail_ids。所以做一次热编码会有很大帮助。我的问题是,如果我把它转换成一种使用“get_dummies”方法对大熊猫进行sparse = True的热编码,那么它是否是内存高效的,还是还有其他有效的方法呢?
发布于 2019-05-25 08:10:05
发布于 2016-12-04 03:02:33
@学生T:熊猫只能有几千行内存问题,这取决于宽度和操作(merge()可能很糟糕)。
如果您确实有问题,我发现迁移到数据库是最不痛苦的,只需将您的数据文件转储到使用DataFrame.to_sql()的表中,并将其拉回您的scikit--使用pandas.read_sql_query()学习管道。
https://datascience.stackexchange.com/questions/13782
复制相似问题