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.
- pandas.DataFrame.describe โ documentation de pandas 2.1.4
- pandas.Series.describe โ documentation de pandas 2.1.4
- Utilisation de base de ๐โ๐โ๐ฌโ๐โ๐ซโ๐ขโ๐โ๐โ()
- Spรฉcifiez les types de cibles : ๐ขโ๐งโ๐โ๐ฅโ๐ฎโ๐โ๐โ , ๐โ๐ฑโ๐โ๐ฅโ๐ฎโ๐โ๐โ
- Calculatrice ๐ญโ๐จโ๐ฉโ , ๐โ๐ซโ๐โ๐ชโ , et plus pour les colonnes numรฉriques
- Calculate ๐ฆโ๐โ๐โ๐งโ, ๐ฌโ๐ญโ๐โ, and more for strings of numbers
- Details of items by ๐โ๐โ๐ฌโ๐โ๐ซโ๐ขโ๐โ๐โ() and corresponding methods
- ๐โ๐จโ๐ฎโ๐งโ๐ญโ: Number of non-NaN-values
- ๐ฎโ๐งโ๐ขโ๐ชโ๐ฎโ๐โ: Number of unique values
- ๐ญโ๐จโ๐ฉโ: Mode
- ๐โ๐ซโ๐โ๐ชโ: Frequency of the mode
- ๐ฆโ๐โ๐โ๐งโ: Arithmetic mean
- ๐ฌโ๐ญโ๐โ: Sample standard deviation
- ๐ฆโ๐ขโ๐งโ: Minimum Value
- ๐ฆโ๐โ๐ฑโ: Maximum Value
- 50%: Median (50th percentile)
- 25%, 75%: 25th and 75th percentiles
- Specify percentiles to calculate in ๐โ๐โ๐ฌโ๐โ๐ซโ๐ขโ๐โ๐โ(): ๐ฉโ๐โ๐ซโ๐โ๐โ๐งโ๐ญโ๐ขโ๐ฅโ๐โ๐ฌโ
- For ๐โ๐โ๐ญโ๐โ๐ญโ๐ขโ๐ฆโ๐โ64[๐งโ๐ฌโ] type
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.
