sql >> Database teknologi >  >> RDS >> Mysql

Hvordan grupperer man efter og tager antallet af en kolonne divider med antallet af unikke af anden kolonne af dataramme i python pandas?

Det ser ud til, at du har brug for aggregate af size og nunique og derefter div outputkolonner:

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. Få frekvensfordeling af et decimalområde i MySQL

  2. MySQL:Få total i sidste række af MySql-resultat

  3. simpleJdbcCall kalder Pl/SQL-procedure -- ORA-22922 ikke-eksisterende LOB-værdi

  4. Betinget visning af et logo til et eksternt websted