Ottieni il conteggio delle righe di un DataFrame Pandas

  1. Metodo .shape per ottenere il conteggio delle righe di Dataframe
  2. .len(DataFrame.index) come il metodo più veloce per ottenere il conteggio delle righe in Pandas
  3. dataframe.apply() per contare le righe che soddisfano una condizione in Pandas

Introdurremo come ottenere il conteggio delle righe di un dataframe Pandas, con metodi diversi come shape e len(DataFrame.index). Hanno notevoli differenze di prestazioni e il metodo len(DataFrame.index) è il più veloce.

Vediamo anche come possiamo usare dataframe.apply() per ottenere quanti elementi di righe soddisfano o meno una condizione.

Metodo .shape per ottenere il conteggio delle righe di Dataframe

Supponiamo che df sia il nostro dataframe, per calcolare il conteggio delle righe,

# python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(15).reshape(3,5))
print(df)
print('Row count is:',df.shape[0])

Produzione:

    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
Row count is: 3

Per il conteggio delle colonne, possiamo usare df.shape[1].

.len(DataFrame.index) come il metodo più veloce per ottenere il conteggio delle righe in Pandas

Possiamo calcolare il conteggio delle righe nel Dataframe ottenendo la lunghezza della riga dell’indice.

# python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(15).reshape(3,5))
print(df)
print('Row count is:',len(df.index))

Produzione:

    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
Row count is: 3 

Possiamo anche passare df.axes[0] invece di df.index:

# python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(15).reshape(3,5))
print(df)
print('Row count is:',len(df.axes[0]))

Produzione:

    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
Row count is: 3

Per il conteggio delle colonne possiamo usare df.axes[1].

dataframe.apply() per contare le righe che soddisfano una condizione in Pandas

Contando il numero di True nel risultato restituito di dataframe.apply(), possiamo ottenere il conteggio delle righe in dataframe che soddisfa la condizione.

# python 3.x
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(15).reshape(3,5))
counterFunc = df.apply(
    lambda x: True if x[1] > 3 else False , axis=1)
numOfRows = len(counterFunc[counterFunc == True].index)
print(df)
print('Row count > 3 in column[1]is:',numOfRows)

Produzione:

    0   1   2   3   4
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
Row count > 3 in column[1]is: 2

Otteniamo il conteggio delle righe il cui valore in column[1] è maggiore di 3.

Articolo correlato - Pandas DataFrame Row

  • Pandas Drop Rows
  • Filtra le righe del dataframe in base ai valori delle colonne in Pandas