Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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 有没有办法加快数据处理速度?_Python_Performance - Fatal编程技术网

Python 有没有办法加快数据处理速度?

Python 有没有办法加快数据处理速度?,python,performance,Python,Performance,我有一个大的数据表(大约3100000行和6列),我想提取一些数据子集并重新排列它们 我尝试了以下代码: tab=[] tab.append(np.array(['Channel', 'Edge', 'Time', 'Sweep', 'Tag', 'DataLost'])) incl=[] incl.append(np.array(['Mult', 'x1', 'x2', 'y1', 'y2'])) for i in range (0,max): B=tab[tab[:,3]==str(i),

我有一个大的数据表(大约3100000行和6列),我想提取一些数据子集并重新排列它们

我尝试了以下代码:

tab=[]
tab.append(np.array(['Channel', 'Edge', 'Time', 'Sweep', 'Tag', 'DataLost']))
incl=[]
incl.append(np.array(['Mult', 'x1', 'x2', 'y1', 'y2']))

for i in range (0,max):
B=tab[tab[:,3]==str(i),:]
C1=B[B[:,0]==str(Voie_Stop_1),2]
C2=B[B[:,0]==str(Voie_Stop_2),2]
if len(C1)%2 ==0 and len(C2)%2 ==0 and len(C1) ==len(C2) :
    nb_fragments=len(C1)/2 
    C1=C1.reshape(int(nb_fragments), 2)
    C2=C2.reshape(int(nb_fragments), 2)
    C1C2=np.concatenate((C1,C2), axis=1)
    ligne=np.insert(C1C2, 0, nb_fragments,axis=1)
    ligne=np.array(ligne)
    for j in range(int(nb_fragments)):
        incl.append(ligne[j])
        ligne=C1C2[0]
        unSTOP.append(ligne)

它正在做我想做的事情,但速度非常慢(5秒使I+100)。。。为了填充我的标签,我使用了函数“append”,因为这个论坛上有人告诉我,它比“concatenate”快,而且在我的代码的第一部分(这里没有显示)中确实如此。。。你能帮我吗???(我是python新手…

根据我的经验,用python操作大型数据集的最快方法是使用。在pandas中,将数据导入一个称为。然后,您可以使用API快速地对数据执行操作

根据数据的存储方式(csv、python dictionary、sql等),您可以使用以下工具快速轻松地将数据拉入内存:

df
是您的数据帧。然后你就可以,而且更快

如果您可以发布一个数据示例,以及一些关于您希望提取和重新排列数据的具体方式的信息,我很乐意为您编写一个示例函数,以帮助您完成这项工作

import pandas as pd

df = pd.read_csv('/path/to/my/data.csv')