Maison > développement back-end > Tutoriel Python > Comment puis-je regrouper des données numériques dans un DataFrame Pandas et compter les valeurs dans chaque bac ?

Comment puis-je regrouper des données numériques dans un DataFrame Pandas et compter les valeurs dans chaque bac ?

Barbara Streisand
Libérer: 2024-12-15 20:55:09
original
796 Les gens l'ont consulté

How Can I Bin Numeric Data in a Pandas DataFrame and Count Values within Each Bin?

Regrouper une colonne avec des pandas pour obtenir des comptes de valeurs

Lorsque vous traitez des données numériques dans un bloc de données pandas, il peut être utile de trier les données dans des plages spécifiques pour analyse. Ce processus est connu sous le nom de binning.

Pour regrouper une colonne dans pandas, vous pouvez suivre les étapes suivantes :

  1. Définissez les plages de bin à l'aide du paramètre bins.
  2. Créez une nouvelle colonne dans le bloc de données à l'aide de la fonction de coupe.
  3. Utilisez le nombre de valeurs ou groupby pour obtenir le nombre de valeurs dans chaque bin.

Exemple :

Considérez le bloc de données suivant avec une colonne numérique nommée « pourcentage » :

import pandas as pd
import numpy as np

df = pd.DataFrame({'percentage': [46.5, 44.2, 100.0, 42.12]})
Copier après la connexion

Vers le bac. la colonne « pourcentage » dans les bacs suivants :

bins = [0, 1, 5, 10, 25, 50, 100]
Copier après la connexion

Vous pouvez utiliser la fonction de coupe comme suit :

df['binned'] = pd.cut(df['percentage'], bins=bins)
Copier après la connexion

Cela créera une nouvelle colonne appelée « binned » dans le bloc de données qui contient les étiquettes des bacs.

Pour obtenir le nombre de valeurs dans chaque bac, vous pouvez utiliser le Méthode value_counts :

print(df['binned'].value_counts())
Copier après la connexion

Sortie :

(25, 50]     3
(50, 100]    1
Copier après la connexion

Vous pouvez également utiliser groupby et agréger la taille :

print(df.groupby(df['binned']).size())
Copier après la connexion

Sortie :

percentage
(0, 1]       0
(1, 5]       0
(5, 10]      0
(10, 25]     0
(25, 50]     3
(50, 100]    1
dtype: int64
Copier après la connexion

Cela vous fournit le nombre de valeurs dans chaque bac.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal