Skip to content

Dans Pandas, la mรฉthode ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() sur D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ et S๐žโ€Œ๐ซโ€Œ๐ขโ€Œ๐žโ€Œ๐ฌโ€Œ vous permet d’obtenir des statistiques rรฉcapitulatives telles que la moyenne, l’รฉcart type, le maximum, le minimum et le mode pour chaque colonne.

Contenu

La version pandas utilisรฉe dans cet article est la suivante. Notez que les fonctionnalitรฉs peuvent varier selon les versions. Le D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ suivant est utilisรฉ comme exemple.

import pandas as pd print(pd.__version__) # 2.1.4 df = pd.DataFrame({'int': [1, 2, 3, 1], 'float': [0.1, 0.2, 0.3, float('nan')], 'str': ['X', 'Y', 'X', 'Z'], 'str_num': ['1', '2', '3', '1'], 'bool': [True, True, False, True]}) print(df) # int float str str_num bool # 0 1 0.1 X 1 True # 1 2 0.2 Y 2 True # 2 3 0.3 X 3 False # 3 1 NaN Z 1 True print(df.dtypes) # int int64 # float float64 # str object # str_num object # bool bool # dtype: object 

Utilisation de base de ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ()

La mรฉthode ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() sur S๐žโ€Œ๐ซโ€Œ๐ขโ€Œ๐žโ€Œ๐ฌโ€Œ renvoie un S๐žโ€Œ๐ซโ€Œ๐ขโ€Œ๐žโ€Œ๐ฌโ€Œ .

print(df['float'].describe()) # count 3.00 # mean 0.20 # std 0.10 # min 0.10 # 25% 0.15 # 50% 0.20 # 75% 0.25 # max 0.30 # Name: float, dtype: float64 print(df['str'].describe()) # count 4 # unique 3 # top X # freq 2 # Name: str, dtype: object print(type(df['float'].describe())) # <class 'pandas.core.series.Series'> 

Les รฉlรฉments calculรฉs par ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() varient en fonction du type de donnรฉes ( ๐โ€Œ๐ญโ€Œ๐ฒโ€Œ๐ฉโ€Œ๐žโ€Œ ). Des dรฉtails sur ces รฉlรฉments seront fournis ultรฉrieurement.

  • Pour les colonnes numรฉriques : ๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ , ๐ฆโ€Œ๐žโ€Œ๐šโ€Œ๐งโ€Œ , ๐ฌโ€Œ๐ญโ€Œ๐โ€Œ , ๐ฆโ€Œ๐ขโ€Œ๐งโ€Œ , 25 % , 50 % , 75 % , ๐ฆโ€Œ๐šโ€Œ๐ฑโ€Œ
  • Pour les colonnes d’objet (telles que les chaรฎnes) : ๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ , ๐ฎโ€Œ๐งโ€Œ๐ขโ€Œ๐ชโ€Œ๐ฎโ€Œ๐žโ€Œ , ๐ญโ€Œ๐จโ€Œ๐ฉโ€Œ , ๐Ÿโ€Œ๐ซโ€Œ๐žโ€Œ๐ชโ€Œ

La mรฉthode ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() sur D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ renvoie un D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ .

print(df.describe()) # int float # count 4.000000 3.00 # mean 1.750000 0.20 # std 0.957427 0.10 # min 1.000000 0.10 # 25% 1.000000 0.15 # 50% 1.500000 0.20 # 75% 2.250000 0.25 # max 3.000000 0.30 print(type(df.describe())) # <class 'pandas.core.frame.DataFrame'> 

Les lignes, les colonnes et les valeurs sont accessibles ร  l’aide de ๐ฅโ€Œ๐จโ€Œ๐œโ€Œ et ๐šโ€Œ๐ญโ€Œ .

print(df.describe().loc['std']) # int 0.957427 # float 0.100000 # Name: std, dtype: float64 print(df.describe().at['std', 'int']) # 0.9574271077563381 

Dans un D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ contenant des types de colonnes mixtes, les calculs sont appliquรฉs uniquement aux colonnes numรฉriques par dรฉfaut. Les arguments ๐ขโ€Œ๐งโ€Œ๐œโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐โ€Œ๐žโ€Œ et ๐žโ€Œ๐ฑโ€Œ๐œโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐โ€Œ๐žโ€Œ , seront qui expliquรฉs ci-aprรจs, vous permettent de dรฉfinir les types de donnรฉes ร  inclure et ร  exclure.

Spรฉcifiez les types de cibles : ๐ขโ€Œ๐งโ€Œ๐œโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐โ€Œ๐žโ€Œ , ๐žโ€Œ๐ฑโ€Œ๐œโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐โ€Œ๐žโ€Œ

Pour cibler des types de donnรฉes spรฉcifiques avec la mรฉthode ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() dans un D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ , utilise les arguments ๐ขโ€Œ๐งโ€Œ๐œโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐โ€Œ๐žโ€Œ et ๐žโ€Œ๐ฑโ€Œ๐œโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐โ€Œ๐žโ€Œ . N’oubliez pas de prรฉciser le type de donnรฉes, pas le nom de la colonne.

Cibler les colonnes non numรฉriques

Les types numรฉriques peuvent รชtre reprรฉsentรฉs par ยซ ๐งโ€Œ๐ฎโ€Œ๐ฆโ€Œ๐›โ€Œ๐žโ€Œ๐ซโ€Œ ยป . Le paramรจtre ๐žโ€Œ๐ฑโ€Œ๐œโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐โ€Œ๐žโ€Œ=’๐งโ€Œ๐ฎโ€Œ๐ฆโ€Œ๐›โ€Œ๐žโ€Œ๐ซโ€Œ’ calculera les rรฉsultats pour les colonnes non numรฉriques, telles que celles contenant des chaรฎnes.

print(df.describe(exclude='number')) # str str_num bool # count 4 4 4 # unique 3 3 2 # top X 1 True # freq 2 2 3 

Dans le cas d’un D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ sans colonnes numรฉriques, les calculs sont appliquรฉs aux types de donnรฉes disponibles par dรฉfaut.

print(df[['str', 'str_num', 'bool']]) # str str_num bool # 0 X 1 True # 1 Y 2 True # 2 X 3 False # 3 Z 1 True print(df[['str', 'str_num', 'bool']].describe()) # str str_num bool # count 4 4 4 # unique 3 3 2 # top X 1 True # freq 2 2 3 

Cibler tous les types de colonnes

Le paramรจtre ๐ขโ€Œ๐งโ€Œ๐œโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐โ€Œ๐žโ€Œ=’๐šโ€Œ๐ฅโ€Œ๐ฅโ€Œ’ inclut tous les types de colonnes. ร‰tant donnรฉ que les รฉlรฉments calculรฉs varient entre les types de colonnes numรฉriques et autres, les valeurs des รฉlรฉments non calculรฉs seront des valeurs manquantes ( N๐šโ€ŒN ).

print(df.describe(include='all')) # int float str str_num bool # count 4.000000 3.00 4 4 4 # unique NaN NaN 3 3 2 # top NaN NaN X 1 True # freq NaN NaN 2 2 3 # mean 1.750000 0.20 NaN NaN NaN # std 0.957427 0.10 NaN NaN NaN # min 1.000000 0.10 NaN NaN NaN # 25% 1.000000 0.15 NaN NaN NaN # 50% 1.500000 0.20 NaN NaN NaN # 75% 2.250000 0.25 NaN NaN NaN # max 3.000000 0.30 NaN NaN NaN 

Inclure et exclure des types spรฉcifiques

N’importe quel type de donnรฉes peut รชtre spรฉcifiรฉ pour les arguments ๐ขโ€Œ๐งโ€Œ๐œโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐โ€Œ๐žโ€Œ et ๐žโ€Œ๐ฑโ€Œ๐œโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐โ€Œ๐žโ€Œ . Un D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ est renvoyรฉ comme rรฉsultat, mรชme s’il ne contient qu’une seule colonne.

print(df.describe(include=int)) # int # count 4.000000 # mean 1.750000 # std 0.957427 # min 1.000000 # 25% 1.000000 # 50% 1.500000 # 75% 2.250000 # max 3.000000 print(type(df.describe(include=int))) # <class 'pandas.core.frame.DataFrame'> 

Plusieurs types peuvent รชtre spรฉcifiรฉs dans une liste. Les รฉlรฉments ร  calculer sont automatiquement dรฉterminรฉs en fonction des types sรฉlectionnรฉs.

print(df.describe(include=[object, bool])) # str str_num bool # count 4 4 4 # unique 3 3 2 # top X 1 True # freq 2 2 3 print(df.describe(exclude=['f8', 'object'])) # int bool # count 4.000000 4 # unique NaN 2 # top NaN True # freq NaN 3 # mean 1.750000 NaN # std 0.957427 NaN # min 1.000000 NaN # 25% 1.000000 NaN # 50% 1.500000 NaN # 75% 2.250000 NaN # max 3.000000 NaN 

Vous pouvez prรฉciser des types de donnรฉes ร  l’aide d’objets de type (tels que ๐ขโ€Œ๐งโ€Œ๐ญโ€Œ , ๐›โ€Œ๐จโ€Œ๐จโ€Œ๐ฅโ€Œ ou ๐งโ€Œ๐ฉโ€Œ.๐Ÿโ€Œ๐ฅโ€Œ๐จโ€Œ๐šโ€Œ๐ญโ€Œ64 ) , des noms de type dans des chaรฎnes (comme ‘๐ขโ€Œ๐งโ€Œ๐ญโ€Œ’ , ‘๐›โ€Œ๐จโ€Œ๐จโ€Œ๐ฅโ€Œ’ , ou ‘๐Ÿโ€Œ๐ฅโ€Œ๐จโ€Œ๐šโ€Œ๐ญโ€Œ64’ ) ou des codes de type dans des chaรฎnes (par exemple, ยซ ๐Ÿโ€Œ8 ยป pour ยซ ๐Ÿโ€Œ๐ฅโ€Œ๐จโ€Œ๐šโ€Œ๐ญโ€Œ64 ยป ). Pour plus de dรฉtails, reportez-vous ร  l’article suivant.

Calculatrice ๐ญโ€Œ๐จโ€Œ๐ฉโ€Œ , ๐Ÿโ€Œ๐ซโ€Œ๐žโ€Œ๐ชโ€Œ , et plus pour les colonnes numรฉriques

Par exemple, dans les donnรฉes catรฉgorielles reprรฉsentรฉes numรฉriquement, comme lorsque les hommes sont codรฉs 0 , les femmes 1 ou lorsque des numรฉros sont attribuรฉs aux noms gรฉographiques, vous prรฉfรฉrerez peut-รชtre vรฉrifier le mode et sa frรฉquence plutรดt que la moyenne ou l’รฉcart type.

Dans de tels cas, vous pouvez utiliser la mรฉthode ๐šโ€Œ๐ฌโ€Œ๐ญโ€Œ๐ฒโ€Œ๐ฉโ€Œ๐žโ€Œ() pour convertir le type en ๐จโ€Œ๐›โ€Œ๐ฃโ€Œ๐žโ€Œ๐œโ€Œ๐ญโ€Œ , soit pour toutes les colonnes, soit pour des colonnes spรฉcifiques.

print(df.astype(object).describe()) # int float str str_num bool # count 4 3.0 4 4 4 # unique 3 3.0 3 3 2 # top 1 0.1 X 1 True # freq 2 1.0 2 2 3 print(df.astype({'int': object}).describe(exclude='number')) # int str str_num bool # count 4 4 4 4 # unique 3 3 3 2 # top 1 X 1 True # freq 2 2 2 3 

Calculez ๐ฆโ€Œ๐žโ€Œ๐šโ€Œ๐งโ€Œ , ๐ฌโ€Œ๐ญโ€Œ๐โ€Œ , et plus pour des chaรฎnes de nombres

Pour calculer la moyenne et l’รฉcart type de chaรฎnes de nombres, convertissez-les d’abord en un type de donnรฉes numรฉriques ร  l’aide de la mรฉthode ๐šโ€Œ๐ฌโ€Œ๐ญโ€Œ๐ฒโ€Œ๐ฉโ€Œ๐žโ€Œ() .

print(df.astype({'str_num': int, 'bool': int}).describe()) # int float str_num bool # count 4.000000 3.00 4.000000 4.00 # mean 1.750000 0.20 1.750000 0.75 # std 0.957427 0.10 0.957427 0.50 # min 1.000000 0.10 1.000000 0.00 # 25% 1.000000 0.15 1.000000 0.75 # 50% 1.500000 0.20 1.500000 1.00 # 75% 2.250000 0.25 2.250000 1.00 # max 3.000000 0.30 3.000000 1.00 

Dรฉtails des รฉlรฉments par ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() et mรฉthodes correspondantes

Cette section dรฉtaille les รฉlรฉments calculรฉs par ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() et les mรฉthodes permettant de les obtenir individuellement. Bien que vous puissiez accรฉder aux valeurs de chaque รฉlรฉment en sรฉlectionnant les lignes dans le D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ renvoyรฉ par ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() , l’utilisation de mรฉthodes individuelles est plus efficace lorsque vous n’avez pas besoin d’autres รฉlรฉments.

Notez que ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() exclut les valeurs manquantes ( N๐šโ€ŒN ) dans ses calculs, mais certaines mรฉthodes comportent une option pour inclure ou exclure N๐šโ€ŒN .

๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ : Nombre de valeurs non NaN

๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ reprรฉsente le nombre de valeurs non NaN, qui peuvent รชtre obtenues par la mรฉthode ๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ() .

print(df.count()) # int 4 # float 3 # str 4 # str_num 4 # bool 4 # dtype: int64 

๐ฎโ€Œ๐งโ€Œ๐ขโ€Œ๐ชโ€Œ๐ฎโ€Œ๐žโ€Œ : Nombre de valeurs uniques

๐ฎโ€Œ๐งโ€Œ๐ขโ€Œ๐ชโ€Œ๐ฎโ€Œ๐žโ€Œ reprรฉsente le nombre de valeurs uniques, qui peuvent รชtre obtenues par la mรฉthode ๐งโ€Œ๐ฎโ€Œ๐งโ€Œ๐ขโ€Œ๐ชโ€Œ๐ฎโ€Œ๐žโ€Œ() .

print(df.nunique()) # int 3 # float 3 # str 3 # str_num 3 # bool 2 # dtype: int64 

๐ญ๐จ๐ฎ๐ฌ : Mode

๐ญโ€Œ๐จโ€Œ๐ฉโ€Œ reprรฉsente le mode (la valeur la plus frรฉquente), qui peut รชtre obtenu par la mรฉthode ๐ฆโ€Œ๐จโ€Œ๐โ€Œ๐žโ€Œ() .

๐ฆโ€Œ๐จโ€Œ๐โ€Œ๐žโ€Œ() sur D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ a renvoyรฉ un D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ . S’il existe plusieurs modes, toutes les positions non remplies dans le rรฉsultat sont reprรฉsentรฉes comme des valeurs manquantes ( N๐šโ€ŒN ).

print(df.mode()) # int float str str_num bool # 0 1.0 0.1 X 1 True # 1 NaN 0.2 NaN NaN NaN # 2 NaN 0.3 NaN NaN NaN 

La sรฉlection de la premiรจre ligne avec ๐ขโ€Œ๐ฅโ€Œ๐จโ€Œ๐œโ€Œ[0] vous permet d’obtenir au moins un mode pour chaque colonne.

print(df.mode().iloc[0]) # int 1.0 # float 0.1 # str X # str_num 1 # bool True # Name: 0, dtype: object 

Notez que ๐ญโ€Œ๐จโ€Œ๐ฉโ€Œ dans ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ retour() un seul des modes s’il y en a plusieurs, et il ne correspond pas nรฉcessairement ร  la premiรจre ligne de ๐ฆโ€Œ๐จโ€Œ๐โ€Œ๐žโ€Œ() .

๐Ÿโ€Œ๐ซโ€Œ๐žโ€Œ๐ชโ€Œ : Frรฉquence du mode

๐Ÿโ€Œ๐ซโ€Œ๐žโ€Œ๐ชโ€Œ reprรฉsente la frรฉquence du mode, qui peut รชtre obtenue par la mรฉthode ๐ฏโ€Œ๐šโ€Œ๐ฅโ€Œ๐ฎโ€Œ๐žโ€Œ_๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ๐ฌโ€Œ() sur S๐žโ€Œ๐ซโ€Œ๐ขโ€Œ๐žโ€Œ๐ฌโ€Œ .

print(df['str'].value_counts()) # str # X 2 # Y 1 # Z 1 # Name: count, dtype: int64 print(df['str'].value_counts().iat[0]) # 2 

Pour plus de dรฉtails sur l’obtention de la frรฉquence du mode pour chaque colonne, reportez-vous ร  l’article suivant.

๐ฆโ€Œ๐žโ€Œ๐šโ€Œ๐งโ€Œ : Moyenne arithmรฉtique

๐ฆโ€Œ๐žโ€Œ๐šโ€Œ๐งโ€Œ reprรฉsente la moyenne arithmรฉtique, qui peut รชtre obtenue par la mรฉthode ๐ฆโ€Œ๐žโ€Œ๐šโ€Œ๐งโ€Œ() .

La dรฉfinition de l’argument ๐งโ€Œ๐ฎโ€Œ๐ฆโ€Œ๐žโ€Œ๐ซโ€Œ๐ขโ€Œ๐œโ€Œ_๐จโ€Œ๐งโ€Œ๐ฅโ€Œ๐ฒโ€Œ sur T๐ซโ€Œ๐ฎโ€Œ๐žโ€Œ cible uniquement les colonnes numรฉriques. La mรชme chose a choisi s’appliquer aux mรฉthodes dรฉcrites dans les sous-sections suivantes.

print(df.mean(numeric_only=True)) # int 1.75 # float 0.20 # bool 0.75 # dtype: float64 

Dans ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() , les colonnes de type ๐›โ€Œ๐จโ€Œ๐จโ€Œ๐ฅโ€Œ sont exclues, alors que dans ๐ฆโ€Œ๐žโ€Œ๐šโ€Œ๐งโ€Œ() , T๐ซโ€Œ๐ฎโ€Œ๐žโ€Œ est traitรฉ comme 1 et F๐šโ€Œ๐ฅโ€Œ๐ฌโ€Œ๐žโ€Œ comme 0 . La mรชme chose a choisi s’appliquer aux mรฉthodes dรฉcrites dans les sous-sections suivantes.

๐ฌโ€Œ๐ญโ€Œ๐โ€Œ : ร‰cart type de l’รฉchantillon

๐ฌโ€Œ๐ญโ€Œ๐โ€Œ reprรฉsente l’รฉcart type de l’รฉchantillon, qui peut รชtre obtenu par la mรฉthode ๐ฌโ€Œ๐ญโ€Œ๐โ€Œ() .

print(df.std(numeric_only=True)) # int 0.957427 # float 0.100000 # bool 0.500000 # dtype: float64 

๐ฆโ€Œ๐ขโ€Œ๐งโ€Œ : Valeur minimale

๐ฆโ€Œ๐ขโ€Œ๐งโ€Œ reprรฉsente la valeur minimale, qui peut รชtre obtenue par la mรฉthode ๐ฆโ€Œ๐ขโ€Œ๐งโ€Œ() .

print(df.min(numeric_only=True)) # int 1 # float 0.1 # bool False # dtype: object 

๐ฆโ€Œ๐šโ€Œ๐ฑโ€Œ : Valeur maximale

๐ฆโ€Œ๐šโ€Œ๐ฑโ€Œ reprรฉsente la valeur maximale, qui peut รชtre obtenue par la mรฉthode ๐ฆโ€Œ๐šโ€Œ๐ฑโ€Œ() .

print(df.max(numeric_only=True)) # int 3 # float 0.3 # bool True # dtype: object 

50% : Mรฉdiane (50e percentile)

50 % reprรฉsente la mรฉdiane (50e centile), qui peut รชtre obtenue par la mรฉthode ๐ฆโ€Œ๐žโ€Œ๐โ€Œ๐ขโ€Œ๐šโ€Œ๐งโ€Œ() .

pandas.DataFrame.median โ€” documentation de pandas 2.1.4

print(df.median(numeric_only=True)) # int 1.5 # float 0.2 # bool 1.0 # dtype: float64 

25% , 75% : 25e et 75e percentiles

25 % et 75 % reprรฉsentent les 25e et 75e percentiles, qui peuvent รชtre obtenus par la mรฉthode ๐ชโ€Œ๐ฎโ€Œ๐šโ€Œ๐งโ€Œ๐ญโ€Œ๐ขโ€Œ๐ฅโ€Œ๐žโ€Œ() .

ร€ partir de la version 2.1.4 de pandas, mรชme lors de la dรฉfinition de l’argument ๐งโ€Œ๐ฎโ€Œ๐ฆโ€Œ๐žโ€Œ๐ซโ€Œ๐ขโ€Œ๐œโ€Œ_๐จโ€Œ๐งโ€Œ๐ฅโ€Œ๐ฒโ€Œ sur T๐ซโ€Œ๐ฎโ€Œ๐žโ€Œ , une erreur se produit s’il ya ๐›โ€Œ๐จโ€Œ๐จโ€Œ๐ฅโ€Œ colonnes.

# print(df.quantile(q=[0.25, 0.75], numeric_only=True)) # TypeError: numpy boolean subtract, the `-` operator, is not supported, use the bitwise_xor, the `^` operator, or the logical_xor function instead. 

L’exemple suivant utilise un D๐šโ€Œ๐ญโ€Œ๐šโ€ŒF๐ซโ€Œ๐šโ€Œ๐ฆโ€Œ๐žโ€Œ qui exclut la colonne ๐›โ€Œ๐จโ€Œ๐จโ€Œ๐ฅโ€Œ . ๐ชโ€Œ๐ฎโ€Œ๐šโ€Œ๐งโ€Œ๐ญโ€Œ๐ขโ€Œ๐ฅโ€Œ๐žโ€Œ() peut calculer la valeur minimale, le 25e centile, la mรฉdiane, le 75e centile et la valeur maximale en mรชme temps.

print(df.iloc[:, :-1]) # int float str str_num # 0 1 0.1 X 1 # 1 2 0.2 Y 2 # 2 3 0.3 X 3 # 3 1 NaN Z 1 print(df.iloc[:, :-1].quantile(q=[0, 0.25, 0.5, 0.75, 1], numeric_only=True)) # int float # 0.00 1.00 0.10 # 0.25 1.00 0.15 # 0.50 1.50 0.20 # 0.75 2.25 0.25 # 1.00 3.00 0.30 

Vous pouvez dรฉfinir les centiles ร  calculer dans ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() avec l’argument ๐ฉโ€Œ๐žโ€Œ๐ซโ€Œ๐œโ€Œ๐žโ€Œ๐งโ€Œ๐ญโ€Œ๐ขโ€Œ๐ฅโ€Œ๐žโ€Œ๐ฌโ€Œ .

Spรฉcifiez les centiles ร  calculer dans ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() : ๐ฉโ€Œ๐žโ€Œ๐ซโ€Œ๐œโ€Œ๐žโ€Œ๐งโ€Œ๐ญโ€Œ๐ขโ€Œ๐ฅโ€Œ๐žโ€Œ๐ฌโ€Œ

Par dรฉfaut, ๐โ€Œ๐žโ€Œ๐ฌโ€Œ๐œโ€Œ๐ซโ€Œ๐ขโ€Œ๐›โ€Œ๐žโ€Œ() calcule la valeur minimale (0e percentile), la mรฉdiane (50e percentile) et la valeur maximale (100e percentile), ainsi que les 25e et 75e percentiles.

Les valeurs minimales, mรฉdianes et maximales sont toujours calculรฉes, mais d’autres peuvent รชtre prรฉcisรฉes avec l’argument ๐ฉโ€Œ๐žโ€Œ๐ซโ€Œ๐œโ€Œ๐žโ€Œ๐งโ€Œ๐ญโ€Œ๐ขโ€Œ๐ฅโ€Œ๐žโ€Œ๐ฌโ€Œ . Spรฉcifiez une liste de valeurs allant de 0,0 ร  1,0 .

print(df.describe(percentiles=[0.2, 0.4, 0.6, 0.8])) # int float # count 4.000000 3.00 # mean 1.750000 0.20 # std 0.957427 0.10 # min 1.000000 0.10 # 20% 1.000000 0.14 # 40% 1.200000 0.18 # 50% 1.500000 0.20 # 60% 1.800000 0.22 # 80% 2.400000 0.26 # max 3.000000 0.30 

Pour le type ๐โ€Œ๐šโ€Œ๐ญโ€Œ๐žโ€Œ๐ญโ€Œ๐ขโ€Œ๐ฆโ€Œ๐žโ€Œ64[๐งโ€Œ๐ฌโ€Œ]

Les pandas disposent de ๐โ€Œ๐šโ€Œ๐ญโ€Œ๐žโ€Œ๐ญโ€Œ๐ขโ€Œ๐ฆโ€Œ๐žโ€Œ64[๐งโ€Œ๐ฌโ€Œ] pour reprรฉsenter les dates et les heures.

df['dt'] = pd.to_datetime(['2023-12-01', '2023-12-08', '2023-12-15', '2023-12-22']) print(df) # int float str str_num bool dt # 0 1 0.1 X 1 True 2023-12-01 # 1 2 0.2 Y 2 True 2023-12-08 # 2 3 0.3 X 3 False 2023-12-15 # 3 1 NaN Z 1 True 2023-12-22 print(df.dtypes) # int int64 # float float64 # str object # str_num object # bool bool # dt datetime64[ns] # dtype: object 

Dans les versions prรฉcรฉdentes, pour les colonnes de type ๐โ€Œ๐šโ€Œ๐ญโ€Œ๐žโ€Œ๐ญโ€Œ๐ขโ€Œ๐ฆโ€Œ๐žโ€Œ64[๐งโ€Œ๐ฌโ€Œ] , des calculs supplรฉmentaires tels que ๐Ÿโ€Œ๐ขโ€Œ๐ซโ€Œ๐ฌโ€Œ๐ญโ€Œ (la date et l’heure les plus anciennes) et ๐ฅโ€Œ๐šโ€Œ๐ฌโ€Œ๐ญโ€Œ (la date et l’heure les plus rรฉcentes) รฉtaient effectuรฉs avec ๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ , ๐ฎโ€Œ๐งโ€Œ๐ขโ€Œ๐ชโ€Œ๐ฎโ€Œ๐žโ€Œ , ๐ญโ€Œ๐จโ€Œ๐ฉโ€Œ , et ๐Ÿโ€Œ๐ซโ€Œ๐žโ€Œ๐ชโ€Œ .

ร€ partir de la version 2.1.4 de Pandas, les colonnes ๐โ€Œ๐šโ€Œ๐ญโ€Œ๐žโ€Œ๐ญโ€Œ๐ขโ€Œ๐ฆโ€Œ๐žโ€Œ64[๐งโ€Œ๐ฌโ€Œ] sont traitรฉes de la mรชme maniรจre que les colonnes numรฉriques. ๐ฆโ€Œ๐ขโ€Œ๐งโ€Œ et ๐ฆโ€Œ๐šโ€Œ๐ฑโ€Œ correspondent respectivement ร  ๐Ÿโ€Œ๐ขโ€Œ๐ซโ€Œ๐ฌโ€Œ๐ญโ€Œ et ๐ฅโ€Œ๐šโ€Œ๐ฌโ€Œ๐ญโ€Œ . Pour calculer ๐œโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐ญโ€Œ ou ๐ฎโ€Œ๐งโ€Œ๐ขโ€Œ๐ชโ€Œ๐ฎโ€Œ๐žโ€Œ pour ๐โ€Œ๐šโ€Œ๐ญโ€Œ๐žโ€Œ๐ญโ€Œ๐ขโ€Œ๐ฆโ€Œ๐žโ€Œ64[๐งโ€Œ๐ฌโ€Œ] colonnes, vous pouvez convertir leur type ร  l’aide de ๐šโ€Œ๐ฌโ€Œ๐ญโ€Œ๐ฒโ€Œ๐ฉโ€Œ๐žโ€Œ() .

print(df.describe()) # int float dt # count 4.000000 3.00 4 # mean 1.750000 0.20 2023-12-11 12:00:00 # min 1.000000 0.10 2023-12-01 00:00:00 # 25% 1.000000 0.15 2023-12-06 06:00:00 # 50% 1.500000 0.20 2023-12-11 12:00:00 # 75% 2.250000 0.25 2023-12-16 18:00:00 # max 3.000000 0.30 2023-12-22 00:00:00 # std 0.957427 0.10 NaN print(df.astype(object).describe()) # int float str str_num bool dt # count 4 3.0 4 4 4 4 # unique 3 3.0 3 3 2 4 # top 1 0.1 X 1 True 2023-12-01 00:00:00 # freq 2 1.0 2 2 3 1 

Pour plus d’informations sur le calcul des percentiles pour la date et l’heure, reportez-vous ร  l’article suivant.