Computer >> Máy Tính >  >> Lập trình >> Python

Pandas GroupBy - Đếm số lần xuất hiện của mỗi kết hợp

Để nhóm theo các cột và đếm số lần xuất hiện của từng kết hợp trong Pandas, chúng tôi sử dụng DataFrame.groupby () với size (). Phương thức groupby () tách DataFrame thành các nhóm.

Đầu tiên, hãy nhập thư viện gấu trúc với bí danh pd -

import pandas as pd

Khởi tạo dữ liệu của danh sách -

# initializing the data
mylist = {'Car': ['BMW', 'Mercedes', 'Lamborgini', 'Audi', 'Mercedes', 'Porche', 'RollsRoyce', 'BMW'], 'Place': ['Delhi', 'Hyderabad', 'Chandigarh', 'Bangalore', 'Hyderabad', 'Mumbai', 'Mumbai','Delhi'],
'Sold': [95, 80, 80, 75, 90, 90, 95, 50 ]}

Tiếp theo, chúng tôi sẽ tạo một DataFrame -

# DataFrame
dataFrame = pd.DataFrame(mylist, columns=['Car', 'Place', 'Sold'])

Bây giờ, hãy sử dụng groupby () để đếm số lần xuất hiện với kích thước () -

print("Counting the occurrences...")
res = dataFrame.groupby(['Car', 'Place']).size()

Sau đây là mã để đếm số lần xuất hiện của mỗi kết hợp -

Ví dụ

# importing library
import pandas as pd

# initializing the data
mylist = {'Car': ['BMW', 'Mercedes', 'Lamborgini', 'Audi', 'Mercedes', 'Porsche', 'RollsRoyce', 'BMW'],
'Place': ['Delhi', 'Hyderabad', 'Chandigarh', 'Bangalore', 'Hyderabad', 'Mumbai', 'Mumbai','Delhi'],
'Sold': [95, 80, 80, 75, 90, 90, 95, 50 ]}

# DataFrame
dataFrame = pd.DataFrame(mylist, columns=['Car', 'Place', 'Sold'])

print(dataFrame)

print("Counting the occurrences...")
res = dataFrame.groupby(['Car', 'Place']).size()

# Displaying the occurrences
print(res)

Đầu ra

Điều này sẽ tạo ra kết quả sau -

          Car           Place       Sold
0         BMW           Delhi         95
1    Mercedes       Hyderabad         80
2  Lamborgini      Chandigarh         80
3        Audi       Bangalore         75
4    Mercedes       Hyderabad         90
5     Porsche          Mumbai         90
6  RollsRoyce          Mumbai         95
7         BMW           Delhi         50
Counting the occurrences...
Car         Place
Audi        Bangalore     1
BMW         Delhi         2
Lamborgini  Chandigarh    1
Mercedes    Hyderabad     2
Porsche     Mumbai        1
RollsRoyce  Mumbai        1
dtype: int64