Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python – Đếm tần suất giá trị (Frequency) trong DataFrame Pandas

Đếm số lần xuất hiện của từng giá trị duy nhất trong cột DataFrame. Sử dụng phương thức value_counts() của Series.

Tạo DataFrame

import pandas as pd

dataFrame = pd.DataFrame({
    'Car': ['BMW', 'Mercedes', 'Lamborghini', 'Audi', 'Mercedes', 'Porsche', 'Lamborghini', 'BMW'],
    'Place': ['Delhi', 'Hyderabad', 'Chandigarh', 'Bangalore', 'Hyderabad', 'Mumbai', 'Mumbai', 'Pune'],
    'UnitsSold': [95, 80, 80, 75, 92, 90, 95, 50]
})

print("DataFrame:\n", dataFrame)

Đếm tần suất từng cột

# Cột Car
count1 = dataFrame['Car'].value_counts()
print("\nTần suất cột Car:")
print(count1)

# Cột Place
count2 = dataFrame['Place'].value_counts()
print("\nTần suất cột Place:")
print(count2)

# Cột UnitsSold
count3 = dataFrame['UnitsSold'].value_counts()
print("\nTần suất cột UnitsSold:")
print(count3)

Kết quả

DataFrame...
         Car       Place  UnitsSold
0        BMW      Delhi         95
1   Mercedes  Hyderabad         80
2 Lamborghini Chandigarh         80
3       Audi  Bangalore         75
4   Mercedes  Hyderabad         92
5    Porsche     Mumbai         90
6 Lamborghini     Mumbai         95
7        BMW      Pune         50

Tần suất cột Car:
BMW           2
Lamborghini   2
Mercedes      2
Audi          1
Porsche       1
Name: Car, dtype: int64

Tần suất cột Place:
Mumbai       2
Hyderabad    2
Chandigarh   1
Pune         1
Delhi        1
Bangalore    1
Name: Place, dtype: int64

Tần suất cột UnitsSold:
95    2
80    2
92    1
75    1
90    1
50    1
Name: UnitsSold, dtype: int64

Giải thích

  • Series.value_counts() trả về Series với index là giá trị duy nhất, value là số lần xuất hiện.
  • Mặc định sắp xếp giảm dần theo tần suất (ascending=False).
  • Bỏ qua NaN mặc định; dùng dropna=False để đếm NaN.
  • Đếm cho nhiều cột: dataFrame.apply(pd.Series.value_counts) (trả về DataFrame).