Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Pandas GroupBy – นับจำนวนการเกิดขึ้นของแต่ละชุดค่าผสม


ในการจัดกลุ่มตามคอลัมน์และนับการเกิดขึ้นของแต่ละชุดค่าผสมใน Pandas เราใช้ DataFrame.groupby() กับ size() groupby() วิธีการแยก DataFrame ออกเป็นกลุ่ม

ขั้นแรก ให้เรานำเข้าไลบรารีแพนด้าด้วยนามแฝง pd -

import pandas as pd

เริ่มต้นข้อมูลของรายการ -

# 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 ]}

ต่อไป เราจะสร้าง DataFrame -

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

ตอนนี้ ใช้ groupby() เพื่อนับเหตุการณ์ด้วย size() −

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

ต่อไปนี้เป็นรหัสเพื่อนับการเกิดขึ้นของแต่ละชุดค่าผสม -

ตัวอย่าง

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

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

          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