Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak pogrupować według i wziąć liczbę dzielenia jednej kolumny przez liczbę unikatów drugiej kolumny ramki danych w pandach python?

Wygląda na to, że potrzebujesz aggregate autorstwa size i nunique a następnie div kolumny wyjściowe:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. unikalny identyfikator w więcej niż jednej tabeli [MySQL]

  2. Entity Framework C# Wstaw dane rosyjskie problemy z kodowaniem

  3. Android:jak wgrać obraz w mysql za pomocą php

  4. mysql 12 godzin do 24 godzin konwersja czasu

  5. Nie można znaleźć klasy [org.springframework.orm.hibernate5.LocalSessionFactoryBean] dla ziarna o nazwie „hibernate5AnnotatedSessionFactory”