在python中,如何执行group by并将一列的计数除以数据帧第二列的unique计数?

在python中,如何执行group by并将一列的计数除以数据帧第二列的unique计数?,python,mysql,pandas,numpy,Python,Mysql,Pandas,Numpy,我有一个熊猫数据框,有4列,分别是'col1','col2','col3'和'col4',现在我想按col1和col2分组,并在下面进行聚合 Count(col3)/(Count(unique col4)) As result_col 我该怎么做?我正在使用MySql与熊猫 我在网上尝试了很多东西,但没有得到一个确切的解决方案,这就是我为什么在这里发帖的原因。给出拒绝投票的原因,以便我可以改进我的问题。您似乎需要通过和,然后输出列: df = pd.DataFrame({'col1':[1,1

我有一个熊猫数据框,有4列,分别是'col1','col2','col3'和'col4',现在我想按col1和col2分组,并在下面进行聚合

Count(col3)/(Count(unique col4)) As result_col
我该怎么做?我正在使用MySql与熊猫

我在网上尝试了很多东西,但没有得到一个确切的解决方案,这就是我为什么在这里发帖的原因。给出拒绝投票的原因,以便我可以改进我的问题。

您似乎需要通过和,然后输出列:

df = pd.DataFrame({'col1':[1,1,1],
                   'col2':[4,4,6],
                   'col3':[7,7,9],
                   'col4':[3,3,5]})

print (df)
   col1  col2  col3  col4
0     1     4     7     3
1     1     4     7     3
2     1     6     9     5

df1 = df.groupby(['col1','col2']).agg({'col3':'size','col4':'nunique'})
df1['result_col'] = df1['col3'].div(df1['col4'])
print (df1)
           col4  col3  result_col
col1 col2                        
1    4        1     2         2.0
     6        1     1         1.0

发布原始数据、创建df的代码、您的尝试以及期望的结果应该是什么样子这代表了您的实际问题看起来可以帮助我…现在让我试试…谢谢,请测试它。如何根据特定条件获取计数,例如“按col1、col2分组并获取聚合计数(col3,其中col3=7)”?你能帮我吗?你首先需要-so
df1=df[df.col3==7].groupby(['col1','col2']).agg({'col3':'size','col4':'nunique'})
但我不确定是否理解,最好是用示例和所需的输出创建新问题。