如何在 Pandas Groupby 物件中統計唯一值?
在資料分析中,經常需要統計 Pandas Groupby 物件中唯一值的個數。Pandas Groupby 物件是一個強大的工具,可以根據一個或多個列對資料進行分組,並在每個分組上執行聚合函式。透過統計 Groupby 物件中唯一值的個數,我們可以深入瞭解每個分組內資料的多樣性和分佈情況。
要在 Pandas Groupby 物件中統計唯一值,我們需要使用 nunique() 方法。此方法返回 Groupby 物件每個分組中唯一值的個數。我們可以將此方法應用於 Groupby 物件的特定列或整個物件。
除了 nunique() 方法外,我們還可以使用 agg() 方法來統計 Pandas Groupby 物件中的唯一值。agg() 方法允許我們同時將多個聚合函式應用於 Groupby 物件,包括 nunique()。
現在讓我們藉助示例來使用可用的不同方法。
使用 nunique() 方法
在 Pandas Groupby 物件中統計唯一值的最簡單方法是使用 nunique() 方法。此方法返回 Groupby 物件每個分組中唯一值的個數。
請考慮以下程式碼。
示例
import pandas as pd
# Load sample data
df = pd.read_csv('data.csv')
# Group data by column 'A' and count unique values in column 'B'
unique_count = df.groupby('A')['B'].nunique()
# Print the result
print(unique_count)
解釋
在這個例子中,我們載入一個樣本資料集,並按'A'列對資料進行分組。然後,我們使用 nunique() 方法統計每個分組中'B'列的唯一值個數。結果是一個 Pandas Series 物件,顯示每個分組中'B'列的唯一值個數。
輸出
A 1 2 2 1 3 3 Name: B, dtype: int64
使用 agg() 方法
我們還可以使用 agg() 方法來統計 Pandas Groupby 物件中的唯一值。此方法允許我們將多個聚合函式(包括 nunique())應用於 Groupby 物件。
請考慮以下程式碼。
示例
import pandas as pd
# Load sample data
df = pd.read_csv('data.csv')
# Group data by columns 'A' and 'C', and count unique values in column 'B'
unique_count = df.groupby(['A', 'C']).agg({'B': 'nunique'})
# Print the result
print(unique_count)
解釋
在這個例子中,我們按'A'和'C'列對資料進行分組,並使用 nunique() 方法統計'B'列的唯一值個數。我們使用 agg() 方法將 nunique() 方法應用於'B'列,並傳遞一個字典來指定要分組的列和要應用的聚合函式。
結果是一個 Pandas DataFrame 物件,顯示'A'和'C'列中每個值組合的'B'列唯一值個數。
輸出
B
A C
1 X 1
Y 1
2 X 1
3 X 2
Y 1
使用 unique() 方法和 len() 函式
統計 Pandas Groupby 物件中唯一值的另一種方法是使用 unique() 方法提取唯一值,並使用 len() 函式對其進行計數。
請考慮以下程式碼。
示例
import pandas as pd
# Load sample data
df = pd.read_csv('data.csv')
# Group data by column 'A' and extract unique values in column 'B'
unique_values = df.groupby('A')['B'].unique()
# Count the number of unique values in each group
unique_count = unique_values.apply(lambda x: len(x))
# Print the result
print(unique_count)
解釋
在這個例子中,我們按'A'列對資料進行分組,並使用 unique() 方法提取'B'列的唯一值。然後,我們使用 len() 函式和 apply() 方法統計每個分組中唯一值的個數。結果是一個 Pandas Series 物件,顯示每個分組中'B'列的唯一值個數。
輸出
A 1 2 2 1 3 3 Name: B, dtype: int64
結論
總之,統計 Pandas Groupby 物件中的唯一值是資料分析中的一項常見任務,可以使用不同的方法來實現。
nunique() 方法是統計 Groupby 物件中唯一值的一種簡單方法,而 agg() 方法允許我們將多個聚合函式(包括 nunique())應用於 Groupby 物件。
另一種方法是使用 unique() 方法提取唯一值,並使用 len() 函式對其進行計數。根據具體的用例,一種方法可能比另一種方法更合適。
透過理解這些不同的方法,我們可以有效地統計 Pandas Groupby 物件中的唯一值,並獲得對資料的寶貴見解。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP