sql >> Database >  >> RDS >> Mysql

Hoe groeperen op en tellen van één kolom delen door het aantal unieke van de tweede kolom van het gegevensframe in python-panda's?

Het lijkt erop dat je aggregate door size en nunique en dan div uitvoerkolommen:

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. MySQL:een reeks kolommen beperken, zodat ten minste één niet NULL is

  2. mybatis-generator Kolomnaampatroon mag niet NULL of leeg zijn

  3. Fout - SqlDateTime-overloop. Moet tussen 1/1/1753 12:00:00 AM en 31/12/9999 23:59:59 PM zijn

  4. Hoe XML-kolom op te vragen in tsql