私の質問は私の以前のQuestionに関連していますが、それは異なっています。だから私は新しい質問をしています。python pandasの同じ列の集計として、いくつかの値の一意性と数をグループ化してカウントする方法は?
上記の質問は、@ jezraelの回答を参照してください。
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
ここでは、特定の値col4
をカウントしたいと思います。同じクエリでcol4 == 3
の数を取得したいとします。
df.groupby(['col1','col2']).agg({'col3':'size','col4':'nunique'}) ... + count(col4=='3')
同じ質問でこれを行う方法私は腹を立ててみましたが、解決策を得られませんでした。
df.groupby(['col1','col2']).agg({'col3':'size','col4':'nunique','col4':'x: lambda x[x == 7].count()'})
ありがとう...それは私を助けた... –