如何进行分组并将一列的计数除以python pandas中第二列数据帧的唯一计数?

时间:2017-02-03 11:06:09

标签: python mysql pandas numpy

我有4栏的熊猫数据框说'col1',' col2'' col3'和' col4'现在我想按col1和col2进行分组,并希望在下面进行汇总。

Count(col3)/(Count(unique col4)) As result_col

我该怎么做?我正在使用MySql和pandas。

我从互联网上尝试过很多东西但没有得到确切的解决方案,这就是我在这里发帖的原因。给出downvote的理由,以便我可以改进我的问题。

1 个答案:

答案 0 :(得分:2)

aggregatesize以及nunique输出列似乎需要div

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