gpt4 book ai didi

python - 为 Pandas 使用多个核心

转载 作者:行者123 更新时间:2023-11-30 22:59:11 25 4
gpt4 key购买 nike

我有以下使用 Pandas 的 Python (2.7) 函数,我需要在 400 GB 上运行。150 GB 上的测试运行需要 4 小时才能成功完成(机器内存为 128 GB、16 核、4TB 磁盘)。有没有一种聪明的方法来利用我的 CPU 上的所有内核来实现此目的并并行执行此操作以减少处理时间:

def create_data(headers, filters, filesFolder, remove_chars, outputFolder):
for ds in headers:
for data_file in glob.glob(filesFolder + '*' + ds + '*.csv'):
x=0
for data in pd.read_csv(data_file, sep = '€', names = headers[ds], engine = 'python', chunksize = 10000000):
logger.info('Pandas Read %s' %(str(x) + '_' + os.path.basename(data_file)) )
for fil in filters[ds]:
try:
data[fil] = data[fil].astype('O')
data = data[data[fil] == filters[ds][fil]]
logger.info('Filtered data for %s succesfully. Filters are %s' %(str(x) + '_' + os.path.basename(data_file) , filters[ds]))
except:
logger.info('Could not apply filter %s for %s' %(filters[ds][fil], str(x) + '_' + os.path.basename(data_file) ))
pass
for char in remove_chars:
try:
data = data.replace({char: ''}, regex=True)
logger.info('Removed char %s from %s succesfully' %(char, str(x) + '_' + os.path.basename(data_file) ))
except:
logger.info('Could not remove char %s from %s' %(char, str(x) + '_' + os.path.basename(data_file) ))
pass
try:
data.to_csv(outputFolder + ds + '/' + str(x) + '_' + os.path.basename(data_file).split('.')[0].strip() + '.csv', enconding = 'utf-8')
logger.info('Saved csv %s succesfully' %(str(x) + '_' + os.path.basename(data_file)))
x+=1
except:
logger.info('Failed to Save %s' %(str(x) + '_' + os.path.basename(data_file)))

最佳答案

这是一个较旧的问题。然而现在,使用 Modin可能是最简单的方法。

只需安装它并更改您的

import pandas as pd

import modin.pandas as pd

关于python - 为 Pandas 使用多个核心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35862144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com