Comment obtenir le nombre de lignes d'un Pandas DataFrame

Asad Riaz 30 janvier 2023
  1. La méthode .shape pour obtenir le nombre de lignes de DataFrame
  2. .len(DataFrame.index) comme la méthode la plus rapide pour obtenir le nombre de lignes dans Pandas
  3. dataframe.apply() pour compter les lignes qui remplissent une condition dans Pandas
Comment obtenir le nombre de lignes d'un Pandas DataFrame

Nous allons présenter comment obtenir le nombre de lignes d’une Pandas DataFrame, avec différentes méthodes comme shape et len(DataFrame.index). Il y a des différences notables de performance, nous avons trouvé que len(DataFrame.index) est la plus rapide.

Nous avons également examiné comment nous pouvons utiliser dataframe.apply() pour obtenir combien d’éléments de lignes satisfont ou non une condition.

La méthode .shape pour obtenir le nombre de lignes de DataFrame

Supposons que df soit notre DataFrame, pour calculer le nombre de lignes,

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

Production:

    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

Pour le comptage des colonnes, nous pouvons utiliser df.shape[1].

.len(DataFrame.index) comme la méthode la plus rapide pour obtenir le nombre de lignes dans Pandas

Nous pouvons calculer le nombre de lignes dans le DataFrame en obtenant la longueur de la ligne d’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.index))

Production:

    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

Nous pouvons aussi passer df.axes[0] au lieu 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]))

Production:

    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

Pour le comptage des colonnes, nous pouvons utiliser df.axes[1].

dataframe.apply() pour compter les lignes qui remplissent une condition dans Pandas

En comptant le nombre de True dans le résultat renvoyé par dataframe.apply(), nous pouvons obtenir le nombre de lignes dans DataFrame qui satisfait la condition.

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

Production:

    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

Nous obtenons le nombre de lignes dont la valeur dans la column[1] est supérieure à 3.

Article connexe - Pandas DataFrame Row