Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法在linux中使用所有CPU核心_Python_Pandas Groupby_Mathematical Optimization_Numexpr - Fatal编程技术网

Python 无法在linux中使用所有CPU核心

Python 无法在linux中使用所有CPU核心,python,pandas-groupby,mathematical-optimization,numexpr,Python,Pandas Groupby,Mathematical Optimization,Numexpr,我试图利用CPU的所有核心,对于NumPy,我能够使用所有核心,但是当我在pandas中执行某些操作时,它再次使用CPU的一个核心。我试着设置最大线程和其他参数,但没有任何效果 例如 当系统执行Numpy操作时,CPU占用了大部分内核的时间,但当涉及到pandas时,一切都在单个内核上运行。pandas的groupby是用纯python实现的(请参阅),并且受到CPython的GIL(全局解释器锁)的限制,只能执行单线程。库可以选择自己处理线程安全,并在密集计算期间释放GIL,或者运行可能产生“

我试图利用CPU的所有核心,对于NumPy,我能够使用所有核心,但是当我在pandas中执行某些操作时,它再次使用CPU的一个核心。我试着设置最大线程和其他参数,但没有任何效果

例如


当系统执行Numpy操作时,CPU占用了大部分内核的时间,但当涉及到pandas时,一切都在单个内核上运行。

pandas的groupby是用纯python实现的(请参阅),并且受到CPython的GIL(全局解释器锁)的限制,只能执行单线程。库可以选择自己处理线程安全,并在密集计算期间释放GIL,或者运行可能产生“不受限制”线程本身的本机代码


您可以尝试在没有GIL的IronPython上运行您的代码,但看一看Pandas的代码,我没有看到任何线程,因此我不确定它是否会有帮助。

这是否回答了您的问题?
def a(x):
  #### # performing a lot of operations and checks. 

## df.groupby(column_A).apply(a).reset_index()