Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mengelompokkan dan menghitung nilai unik dan menghitung beberapa nilai sebagai agregat pada kolom yang sama di python pandas?

Lakukan pra-pemrosesan dengan menyertakan col4==3 sebagai kolom sebelumnya. Kemudian gunakan aggregate

df.assign(result_col=df.col4.eq(3).astype(int)).groupby(
    ['col1', 'col2']
).agg(dict(col3='size', col4='nunique', result_col='sum'))

           col3  result_col  col4
col1 col2                        
1    4        2           2     1
     6        1           0     1

jawaban lama

g = df.groupby(['col1', 'col2'])
g.agg({'col3':'size','col4': 'nunique'}).assign(
    result_col=g.col4.apply(lambda x: x.eq(3).sum()))

           col3  col4  result_col
col1 col2                        
1    4        2     1           2
     6        1     1           0

sedikit diatur ulang

g = df.groupby(['col1', 'col2'])
final_df = g.agg({'col3':'size','col4': 'nunique'})
final_df.insert(1, 'result_col', g.col4.apply(lambda x: x.eq(3).sum()))
final_df

           col3  result_col  col4
col1 col2                        
1    4        2           2     1
     6        1           0     1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL cara menanyakan saldo saat ini sebagai saldo sebelumnya

  2. Nilai string salah:'\xF0\x9F\x8E\xB6\xF0\x9F...' MySQL

  3. Neo4j - Jatuhkan Batasan menggunakan Cypher

  4. Bagaimana cara membuat halaman login di aplikasi android?

  5. Kesalahan:Batas waktu tidak aktif jabat tangan di Node.js v6.9.1 dan MySQL