python中的多处理大数据集

问题描述 投票:0回答:1

我是python中的多处理新手,想知道我是否可以为我的数据分析做这件事。

代码:

file1=open('./R.csv','r').readlines()
file2=open('./N.csv','r').readlines()

Defining the dictionary:

Dict1={}
Dict2={}

Storing file1 first column as dictionary elements:

    for k1 in range(0,len(file1)):
            d1=file2[k1].split(',')[0]
            Dict1[k1]=d1
#print(Dict1[1])

Storing file2 first column as dictionary elements:

for k2 in range(0,len(file2)):
        d2=file2[k2].split(',')[0]
        Dict2[k2]=d2
#print(new_Dict[0])

To check if the elements in Dict1 is same as Dict2 line by line, If so, print the matching line in file1 and file2:

for i in range(0,len(file1)):
        for j in range(0,len(file2)):
                if Dict1[i] in Dict2[j]:
                        print(Dict1[i]+","+file1[i].split(',')[1].strip()+","+file2[j].split(',')[1].strip())

此代码有效,但由于两个文件都是一个庞大的数据集,因此完成工作需要花费大量时间。我想在服务器的工作站使用所有64个CPU集群。但不知道怎么样......

我试过按照下面这些链接,但不知何故卡住了。

https://stackoverflow.com/questions/914821/producer-consumer-problem-with-python-multiprocessing
https://www.youtube.com/watch?v=sp7EhjLkFY4
https://www.youtube.com/watch?v=aysceqdGFw8

任何帮助都非常感谢。

非常感谢。干杯。

python multiprocessing bigdata
1个回答
0
投票

我首先使用熊猫测试:

import pandas as pd

df_r = pd.read_table('./R.csv', header=None)   # check if standard delimiter ',' works...
df_n = pd.read_table('./N.csv', header=None)   # ... otherwise add e.g. sep='\s+,\s+'

print(df_r[df_r[0].isin(df_n[1])])

也许这是一种已经适合您的方法。

© www.soinside.com 2019 - 2024. All rights reserved.