.nunique()
方法簡易說明
.nunique()
是 pandas 中一個非常實用的方法,它用於計算 Series(數據列)中不重複值的數量。讓我用一個簡單的例子來解釋:
基本示例
import pandas as pd
# 創建一個簡單的 Series
fruits = pd.Series(['蘋果', '香蕉', '蘋果', '橙子', '蘋果', '香蕉'])
# 計算不重複值的數量
unique_count = fruits.nunique()
print(f"不重複水果的數量: {unique_count}") # 輸出: 不重複水果的數量: 3
# 查看不重複的值
print(f"不重複的水果: {fruits.unique()}") # 輸出: 不重複的水果: ['蘋果' '香蕉' '橙子']
輸出結果:

在分組數據中的應用
# 創建一個簡單的數據框
data = {
'產品': ['手機', '手機', '手機', '筆電', '筆電', '平板'],
'顏色': ['黑', '黑', '黑', '銀', '銀', '金'],
'價格': [5000, 5000, 5000, 20000, 25000, 15000]
}
df = pd.DataFrame(data)
# 按產品分組,然後檢查每個產品的顏色是否都相同
for product, group in df.groupby('產品'):
is_color_consistent = group['顏色'].nunique() == 1
print(f"產品: {product}, 顏色一致: {is_color_consistent}, 不重複顏色數量: {group['顏色'].nunique()}")
# 輸出:
# 產品: 手機, 顏色一致: True, 不重複顏色數量: 1
# 產品: 平板, 顏色一致: True, 不重複顏色數量: 1
# 產品: 筆電, 顏色一致: True, 不重複顏色數量: 1
# 按產品分組,然後檢查每個產品的價格是否都相同
for product, group in df.groupby('產品'):
is_price_consistent = group['價格'].nunique() == 1
print(f"產品: {product}, 價格一致: {is_price_consistent}, 不重複價格數量: {group['價格'].nunique()}")
# 輸出:
# 產品: 手機, 價格一致: True, 不重複價格數量: 1
# 產品: 平板, 價格一致: True, 不重複價格數量: 1
# 產品: 筆電, 價格一致: False, 不重複價格數量: 2
# 輸出:

group[col].nunique() == 1
檢查的是在同一個信號名稱(”Name”)下的某個特定屬性是否完全一致。如果值為 True
,表示這個屬性在該信號的所有數據行中都相同,因此可以作為一個特徵保留到重組後的結果中。
這種檢查在數據整理和轉換中非常有用,尤其是當您需要識別哪些特徵在某個分組中是穩定的,哪些是變化的。
df.groupby(‘產品’)

推薦hahow線上學習python: https://igrape.net/30afN
近期留言