Détails
Comment obtenir le nombre de lignes d'un DataFrame pandas ?
J'essaie d'obtenir le nombre de lignes du dataframe df avec Pandas, et voici mon code.
Méthode 1 :
total_rows = df.count
print total_rows +1
Méthode 2 :
total_rows = df['First_columnn_label'].count
print total_rows +1
Les deux extraits de code me donnent cette erreur :
TypeError : unsupported operand type(s) for + : 'instancemethod' ; and 'int' ;
Qu'est-ce que je fais de mal ?
779
3
Vous pouvez utiliser la propriété
.shape
ou simplementlen(DataFrame.index)
. Cependant, il y a des différences de performances notables (len(DataFrame.index)
est le plus rapide) :[!entrer la description de l'image ici][1]][1]
EDIT : Comme @Dan Allen l'a noté dans les commentaires
len(df.index)
etdf[0].count()
ne sont pas interchangeables carcount
exclut lesNaN
s,[1] : https://i.stack.imgur.com/xoTgt.png
Utilisez
len(df)
. Cela fonctionne à partir de pandas 0.11 ou peut-être même avant.__len__()
est actuellement (0.12) documenté avecReturns length of index
. Info sur le timing, configuré de la même manière que dans la réponse de root :En raison d'un appel de fonction supplémentaire, il est un peu plus lent que d'appeler directement
len(df.index)
, mais cela ne devrait pas jouer de rôle dans la plupart des cas d'utilisation.En dehors des réponses ci-dessus, vous pouvez utiliser
df.axes
pour obtenir le tuple avec les index des lignes et des colonnes, puis utiliser la fonctionlen()
: