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
Barbara Streisandoriginal
2024-12-15 20:55:09745parcourir

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]})

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

bins = [0, 1, 5, 10, 25, 50, 100]

Vous pouvez utiliser la fonction de coupe comme suit :

df['binned'] = pd.cut(df['percentage'], bins=bins)

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())

Sortie :

(25, 50]     3
(50, 100]    1

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

print(df.groupby(df['binned']).size())

Sortie :

percentage
(0, 1]       0
(1, 5]       0
(5, 10]      0
(10, 25]     0
(25, 50]     3
(50, 100]    1
dtype: int64

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!

Déclaration:
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