Cómo obtener el recuento de filas de un Pandas DataFrame

  1. El método .shape para obtener el número de filas de Dataframe
  2. .len(DataFrame.index) como el método más rápido para obtener el recuento de filas en Pandas
  3. dataframe.apply() para contar filas que satisfagan una condición en Pandas

Introduciremos cómo obtener el recuento de filas de un pandas dataframe, con diferentes métodos como shape y len (DataFrame.index). Hay notables diferencias de rendimiento que encontramos que len(DataFrame.index) es el más rápido.

También miramos cómo podemos usar dataframe.apply() para obtener cuántos elementos de las filas satisfacen o no una condición.

El método .shape para obtener el número de filas de Dataframe

Supongamos que df es nuestro dataframe, para calcular el número de filas,

# 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])

Producción:

    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

Para el recuento de las columnas, podemos usar df.shape[1].

.len(DataFrame.index) como el método más rápido para obtener el recuento de filas en Pandas

Podemos calcular el número de filas en el DataFrame obteniendo la longitud de la fila del índice.

# 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))

Producción:

    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 

También podemos pasar df.axes[0] en lugar de 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]))

Producción:

    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

Para el conteo de las columnas podemos usar df.axes[1].

dataframe.apply() para contar filas que satisfagan una condición en Pandas

Contando el número de True en el resultado devuelto de dataframe.apply(), podemos obtener el número de filas en dataframe que satisface la condición.

# 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)

Resultado:

    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

Obtenemos el recuento de filas cuyo valor en column[1] es mayor que 3.

Artículo relacionado - Pandas DataFrame Row

  • Cómo obtener el índice de todas las filas cuya columna particular satisface la condición dada en Pandas
  • Cómo barajar aleatoriamente filas de DataFrame en Pandas