当前位置: 首页 > 知识库问答 >
问题:

从pandas移动到dask,以利用所有本地cpu内核

凌声
2023-03-14

最近,我偶然发现了http://dask.pydata.org/en/latest/,因为我有一些pandas代码,它只运行在一个核心上,我想知道如何利用我的其他CPU核心。dask是否可以很好地使用所有(本地)CPU内核?如果是,它与熊猫的相容性如何?

我可以用多个CPU来处理熊猫吗?到目前为止,我读到关于发布GIL的消息,但这一切似乎相当复杂。

共有1个答案

周承天
2023-03-14

dask是否可以很好地使用所有(本地)CPU内核?

是的。

与熊猫的契合度如何?

挺合得来的。不是百分之百。如果需要的话,你可以把熊猫和麻木的甚至是纯蟒蛇的东西和Dask混在一起。

我可以用多个CPU来处理熊猫吗?

你可以。最简单的方法是使用multiprocessing并将数据分开--如果可以有效地将每个作业独立地从磁盘读取和写入磁盘。一个非常困难的方法是使用MPI4PY,如果您有一个具有专业管理员的多计算机环境,这是最有用的。

 类似资料:
  • 问题内容: 假设我的应用程序运行2个线程(例如渲染线程和游戏更新线程)。如果它运行在具有多核CPU的移动设备上(当今通常是这样),我是否可以期望在可能的情况下自动将线程分配给不同的内核? 我知道底层的OS内核(Android linux内核)决定调度。我的问题是我是否需要做 任何其他事情 才能启用多核功能,还是自动而透明的? 问题答案: 您需要做的是允许两个线程尽可能独立地运行。如果您有两个始终在

  • 我正试着在一个熊猫数据目录中加载一个SQLAlchemy。 当我尝试: 我得到一个属性错误: 和 上一个问题SQLAlchemy ORM到pandas DataFrame的转换解决了我的问题,但是解决方案:使用不是我的解决方案。我使用db.session.add()和db.session.commit()打开/关闭会话,但是当我使用时,就会得到一个属性错误:

  • 谁能解释一下这两种方法的真正区别 vm。GetTotalizationofCPU(CloudSim.clock()); 和 cloudlet.get利用OfCpu(CloudSim.clock()); 提前感谢

  • 我正在处理大的CSV文件,我需要做一个笛卡尔积(合并操作)。我试着面对Pandas的问题(您可以在这里检查Panda的代码和数据格式示例以查找相同的问题),但由于内存错误而没有成功。现在,我尝试使用Dask,它应该可以管理巨大的数据集,即使它的大小大于可用的RAM。 首先,我阅读了CSV: 然后,我进行了磁盘存储操作,以防止内存错误: 我做了一个回购,尝试与我正在使用的完全相同的CSV文件。我尝试

  • 问题内容: 在Linux中是否有命令或任何其他方式来获取当前或平均 CPU使用率 (对于多处理器环境)? 我在小型系统中使用嵌入式Linux。基本上,我需要确定CPU利用率,以便在CPU利用率很高的情况下,可以将新进程转移到系统中的另一个控制器,而不是在可能忙于执行更重要进程的主处理器上执行。 这个问题不仅仅在于对进程进行优先级排序,另一个控制器可以充分处理新进程,只是当主处理器不忙时,我希望它来

  • 如下文所述,我们看到部署在RHEL上的spring cloud gateway应用程序的cpu利用率很高。详细信息可在以下链接中获得 根据@SpencerGibb给出的建议,已经尝试使用最新版本的gateway和boot,但在PST期间仍然看到高cpu利用率。似乎大部分的利用是由反应堆“ePoll”线程完成的。 是否有任何反应堆/网管优化可以尝试来提高性能?似乎除了“ePoll”之外,还有使用NI