Skip to content

pandas : Obtenir le nombre de lignes, de colonnes, tous les éléments (taille) d’un DataFrame

Cet article décrit comment obtenir le nombre de lignes, de colonnes et le nombre total d’éléments (taille) de pandas.DataFrame et pandas.Series.

  • pandas.DataFrame
    • Afficher le nombre de lignes, de colonnes, etc. :df.info()
    • Obtenez le nombre de lignes :len(df)
    • Obtenez le nombre de colonnes :len(df.columns)
    • Obtenez le nombre de lignes et de colonnes :df.shape
    • Obtenez le nombre d’éléments :df.size
    • Remarques lors de la spécification de l’index
  • pandas.Série
    • Obtenez le nombre d’éléments :len(s), s.size

Par exemple, utilisez les données des survivants du Titanic. Il peut être téléchargé à partir de Kaggle .

import pandas as pd

df = pd.read_csv('data/src/titanic_train.csv')

print(df.head())
#    PassengerId  Survived  Pclass  
# 0            1         0       3   
# 1            2         1       1   
# 2            3         1       3   
# 3            4         1       1   
# 4            5         0       3   
# 
#                                                 Name     Sex   Age  SibSp  
# 0                            Braund, Mr. Owen Harris    male  22.0      1   
# 1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   
# 2                             Heikkinen, Miss. Laina  female  26.0      0   
# 3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   
# 4                           Allen, Mr. William Henry    male  35.0      0   
# 
#    Parch            Ticket     Fare Cabin Embarked  
# 0      0         A/5 21171   7.2500   NaN        S  
# 1      0          PC 17599  71.2833   C85        C  
# 2      0  STON/O2. 3101282   7.9250   NaN        S  
# 3      0            113803  53.1000  C123        S  
# 4      0            373450   8.0500   NaN        S  

Obtenez le nombre de lignes, colonnes, éléments de pandas.DataFrame

Afficher le nombre de lignes, de colonnes, etc. :df.info()

La méthode info() de pandas.DataFrame peut afficher des informations telles que le nombre de lignes et de colonnes, l’utilisation totale de la mémoire, le type de données de chaque colonne et le nombre d’éléments non NaN.

df.info()
# <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 891 entries, 0 to 890
# Data columns (total 12 columns):
# PassengerId    891 non-null int64
# Survived       891 non-null int64
# Pclass         891 non-null int64
# Name           891 non-null object
# Sex            891 non-null object
# Age            714 non-null float64
# SibSp          891 non-null int64
# Parch          891 non-null int64
# Ticket         891 non-null object
# Fare           891 non-null float64
# Cabin          204 non-null object
# Embarked       889 non-null object
# dtypes: float64(2), int64(5), object(5)
# memory usage: 83.6+ KB

Le résultat est une sortie standard et ne peut pas être obtenu en tant que valeur.

Obtenez le nombre de lignes :len(df)

Le nombre de lignes de pandas.DataFrame peut être obtenu avec la fonction intégrée Python len().

Dans l’exemple, il est affiché à l’aide de print(), mais len() renvoie une valeur entière, de sorte qu’il peut être affecté à une autre variable ou utilisé pour le calcul.

Obtenez le nombre de colonnes :len(df.columns)

Le nombre de colonnes de pandas.DataFrame peut être obtenu en appliquant len() à l’attribut columns.

print(len(df.columns))
# 12

Obtenez le nombre de lignes et de colonnes :df.shape

L’attribut shape de pandas.DataFrame stocke le nombre de lignes et de colonnes sous forme de tuple (nombre de lignes, nombre de colonnes).

print(df.shape)
# (891, 12)

print(df.shape[0])
# 891

print(df.shape[1])
# 12

Il est également possible de les décompresser et de les stocker dans des variables séparées.

row, col = df.shape
print(row)
# 891

print(col)
# 12

Obtenez le nombre d’éléments :df.size

Le nombre total d’éléments de pandas.DataFrame est stocké dans l’attribut size. Ceci est égal au row_count * column_count.

print(df.size)
# 10692

print(df.shape[0] * df.shape[1])
# 10692

Remarques lors de la spécification de l’index

Lorsqu’une colonne de données est spécifiée en tant qu’index par la méthode set_index(), ces colonnes sont supprimées du corps de données (attribut values), elles ne sont donc pas comptées comme le nombre de colonnes.

df_multiindex = df.set_index(['Sex', 'Pclass', 'Embarked', 'PassengerId'])

print(len(df_multiindex))
# 891

print(len(df_multiindex.columns))
# 8

print(df_multiindex.shape)
# (891, 8)

print(df_multiindex.size)
# 7128

Voir l’article suivant pour set_index().

Obtenir le nombre d’éléments de pandas.Series

Comme exemple de pandas.Series, sélectionnez une ligne de pandas.DataFrame.

s = df['PassengerId']
print(s.head())
# 0    1
# 1    2
# 2    3
# 3    4
# 4    5
# Name: PassengerId, dtype: int64

Obtenir le nombre d’éléments :len(s), s.size

Étant donné que pandas.Series est unidimensionnel, vous pouvez obtenir le nombre total d’éléments (taille) avec l’attribut len() ou size.

Notez que l’attribut shape est un tuple avec un élément.

print(len(s))
# 891

print(s.size)
# 891

print(s.shape)
# (891,)

Il n’y a pas de méthode info() dans pandas.Series.