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

Python 熊猫分组依据、筛选和聚合

Python 熊猫分组依据、筛选和聚合,python,pandas,filter,group-by,aggregate,Python,Pandas,Filter,Group By,Aggregate,我有一个像 import pandas as pd import numpy as np d = {'id':[1,2,3,4,3,3,1,6], 'type':['t2','t1','t2','t2','t3','t3','t4','t3']} df = pd.DataFrame(data=d) 目标是获得一个按id分组的数据帧,并在每个组中具有每种类型的nunique 我以为这会解决问题,但似乎不起作用: df.groupby('id').agg({'type':pd.Series.nun

我有一个像

import pandas as pd
import numpy as np
d = {'id':[1,2,3,4,3,3,1,6], 'type':['t2','t1','t2','t2','t3','t3','t4','t3']}
df = pd.DataFrame(data=d)
目标是获得一个按id分组的数据帧,并在每个组中具有每种类型的
nunique

我以为这会解决问题,但似乎不起作用:

df.groupby('id').agg({'type':pd.Series.nunique()})

您只需首先访问
type
系列groupby,就可以更简单地完成这项工作

>>> df.groupby('id').type.nunique()
id
1    2
2    1
3    2
4    1
6    1


如注释中所述,您当前的方法不能像预期的那样使用它可以调用的函数对象(
nunique
),而不是像您使用
nunique()
那样实际尝试调用函数

nunique
中删除
()
,因为您希望传递对函数的引用,而不是调用它
df.groupby(by='id').agg(pd.Series.nunique)
将完成此任务。谢谢@dnswlt-i new,这是一个简单的任务。