sql >> Databasteknik >  >> RDS >> Mysql

Hur gör man gruppera efter och ta Antalet av en kolumn dividera med antalet unika av andra kolumnen i dataramen i python pandas?

Det verkar som om du behöver aggregate av size och nunique och sedan div utdatakolumner:

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



  1. Stora prestandaproblem med Oracle DataReader i .Net

  2. Mysql infoga, uppdateringar mycket långsamma

  3. Python db-api:fetchone vs fetchmany vs fetchall

  4. oracle - samma fråga men annan plan i 11g och 12c