
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
- Afficher le nombre de lignes, de colonnes, etc. :
- pandas.Série
- Obtenez le nombre d’éléments :
len(s), s.size
- Obtenez le nombre d’éléments :
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.
