np.where处理数据占用内存过大

星梦天国
  • 86

当在代码中按照条件设置 amount 列的值

当包含 M 时, 数值100000
当包含 X 时, 数值1000

想通过 np.where 来实现,结果出现占了服务器50%以上的内存
请问这是什么引起的?

image.png

import numpy as np
# df_split_desc['amount'] = np.where(df_split_desc['amount'].str.contains('M'),
#                                    df_split_desc['amount'] * 1000000, x)
# df_split_desc['amount'] = np.where(df_split_desc['amount'].str.contains('K'),
#                                    df_split_desc['amount'] * 10000, x)
回复
阅读 347
1 个回答
✓ 已被采纳

你的 amount 是字符串,字符串乖以100万等于把它重复100万次所以内存爆了。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏