![](/img/trans.png)
[英]How to do group by and take count of unique and count of some value as aggregate on same column in python pandas?
[英]How to do group by and take Count of one column divide by count of unique of second column of data frame in python pandas?
我有 4 列的熊猫数据框,例如“col1”、“col2”、“col3”和“col4”,现在我想按 col1 和 col2 分组,并希望在下面进行汇总。
Count(col3)/(Count(unique col4)) As result_col
我该怎么做呢? 我正在将 MySql 与熊猫一起使用。
我从互联网上尝试了很多东西,但没有得到确切的解决方案,这就是我在这里发帖的原因。 给出downvote的原因,以便我可以改进我的问题。
看来您需要按size
和nunique
aggregate
,然后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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.