簡體   English   中英

python - 如何在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的原因,以便我可以改進我的問題。

看來您需要按sizenunique 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM