Comment compter les lignes en fonction des valeurs de colonnes communes dans un DataFrame Pandas ?

DDD
Libérer: 2024-10-26 08:01:02
original
540 Les gens l'ont consulté

How to Count Rows Based on Common Column Values in a Pandas DataFrame?

Compter les lignes en fonction des valeurs de colonne communes dans un dataframe

De nombreux ensembles de données contiennent des lignes en double avec des valeurs identiques pour des colonnes spécifiques. Pour analyser la fréquence de ces occurrences, nous pouvons utiliser des techniques de regroupement DataFrame.

Considérons un DataFrame composé de colonnes « Group » et « Size » :

Group Size Time
Short Small 2
Moderate Medium 1
Moderate Small 1
Tall Large 1

GroupBy et Size

La fonction pandas groupby nous permet de regrouper les lignes en fonction des colonnes spécifiées. La fonction size fournit un moyen pratique de compter le nombre de lignes dans chaque groupe.

<code class="python">import pandas as pd

# Load the sample data
data = {'Group': ['Short', 'Short', 'Moderate', 'Moderate', 'Tall'], 'Size': ['Small', 'Small', 'Medium', 'Small', 'Large']}
df = pd.DataFrame(data)

# Group by "Group" and "Size" columns
dfg = df.groupby(by=["Group", "Size"]).size()</code>
Copier après la connexion

Cette opération renverrait une série avec le résultat suivant :

Group     Size
Moderate  Medium    1
          Small     1
Short     Small     2
Tall      Large     1
dtype: int64
Copier après la connexion

Réinitialiser Index et optionnalité

Pour convertir la série en DataFrame avec une colonne pour les décomptes, nous pouvons utiliser reset_index et spécifier un nom pour la nouvelle colonne :

<code class="python">dfg = df.groupby(by=["Group", "Size"]).size().reset_index(name="Time")</code>
Copier après la connexion

De plus, en fonction de vos besoins spécifiques, vous pouvez utiliser des variantes de la fonction groupby avec le paramètre as_index :

<code class="python"># Option 1: Explicitly set index to True
dfg = df.groupby(by=["Group", "Size"], as_index=True).size()

# Option 2: Leave index unchanged (default)
dfg = df.groupby(by=["Group", "Size"]).size()

# Option 3: Explicitly set index to False
dfg = df.groupby(by=["Group", "Size"], as_index=False).size()</code>
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!