如何解决如何让 Pandas 数据帧在多核上运行?
我在 Pandas 数据框中处理了大约 500 万行,大约需要 45 分钟。有多个列,数据转换涉及将一些列复制到新列,根据给定的逻辑更改某些列中的值以及许多此类转换。 由于熊猫一次只在一个核心上运行,我的其他节点保持空闲。如何让熊猫利用所有可用节点并减少总转换时间?
解决方法
在多个 CPU 内核上并行化 Pandas 的包是 modin。在其 official documentation 页面阅读更多相关信息。
继续的方法是使用 ray
作为后端。它是通过 pip
安装的,如下所示:
pip install modin[ray]
如果您偏好 dask
,可以将其安装为:
pip install modin[dask]
要使用该包,只需更改导入,您需要的~88 %
功能都可用:
import modin.pandas as pd
import numpy as np
frame_data = np.random.randint(0,100,size=(2**10,2**8))
df = pd.DataFrame(frame_data)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。