Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.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_Pandas_Aggregate - Fatal编程技术网

Python 与熊猫不同的集团和集体经营有什么区别

Python 与熊猫不同的集团和集体经营有什么区别,python,pandas,aggregate,Python,Pandas,Aggregate,我想在pandas中使用udaf,因为没有nunique函数,但我发现它花费了太多的时间。因此,我在现有函数上测试了不同的聚合方法,发现不同方法之间存在很大差异,如下所示“ sum是cython优化的聚合函数之一。通常,np.sum、sum、“sum”和“sum()调用该函数,但显然pd.Series.sum不是其中之一。通常,安全的方法是使用它们的别名('sum','mean','std','size'等) import numpy as np import pandas as pd rec

我想在pandas中使用udaf,因为没有nunique函数,但我发现它花费了太多的时间。因此,我在现有函数上测试了不同的聚合方法,发现不同方法之间存在很大差异,如下所示“


sum
是cython优化的聚合函数之一。通常,
np.sum
sum
“sum”和
“sum()
调用该函数,但显然pd.Series.sum不是其中之一。通常,安全的方法是使用它们的别名(
'sum'
'mean'
'std'
'size'
等)
import numpy as np
import pandas as pd

recordNum = 10
n = 2
varNum = 1000
keys = ['ID%04d' %i for i in range(int(recordNum/n))] * n
varlst1 = ['x%04d' %i for i in range(varNum)]

dsDict1 = {k:np.random.choice(range(1000), recordNum) for k in varlst1}

dsDict1['ID'] = keys

df1 = pd.DataFrame(dsDict1)

dfg = df1.groupby(['ID'])

# 1.47ms
%timeit dfg.sum()

# 1.48ms
%timeit dfg.aggregate(sum)

# 1.5s
%timeit dfg.aggregate(pd.Series.sum)

# 361ms
%timeit dfg.aggregate({}.fromkeys(varlst1, sum))