Heim >Backend-Entwicklung >Python-Tutorial >Wie zähle ich Zeilen basierend auf gemeinsamen Spaltenwerten in einem Pandas-DataFrame?

Wie zähle ich Zeilen basierend auf gemeinsamen Spaltenwerten in einem Pandas-DataFrame?

DDD
DDDOriginal
2024-10-26 08:01:02620Durchsuche

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

Zeilen basierend auf gemeinsamen Spaltenwerten in einem Datenrahmen zählen

Viele Datensätze enthalten doppelte Zeilen mit identischen Werten für bestimmte Spalten. Um die Häufigkeit dieser Vorkommnisse zu analysieren, können wir DataFrame-Gruppierungstechniken einsetzen.

Stellen Sie sich einen DataFrame vor, der aus den Spalten „Gruppe“ und „Größe“ besteht:

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

GroupBy und Size

Mit der Pandas-Groupby-Funktion können wir Zeilen basierend auf angegebenen Spalten gruppieren. Die Größenfunktion bietet eine praktische Möglichkeit, die Anzahl der Zeilen innerhalb jeder Gruppe zu zählen.

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

Dieser Vorgang würde eine Serie mit der folgenden Ausgabe zurückgeben:

Group     Size
Moderate  Medium    1
          Small     1
Short     Small     2
Tall      Large     1
dtype: int64

Zurücksetzen Index und Optionalität

Um die Serie in einen DataFrame mit einer Spalte für die Zählungen umzuwandeln, können wir reset_index verwenden und einen Namen für die neue Spalte angeben:

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

Zusätzlich Abhängig von Ihren spezifischen Anforderungen können Sie Variationen der Groupby-Funktion mit dem Parameter as_index verwenden:

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

Das obige ist der detaillierte Inhalt vonWie zähle ich Zeilen basierend auf gemeinsamen Spaltenwerten in einem Pandas-DataFrame?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn