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

Python Pandas - นับจำนวนแถวในแต่ละกลุ่ม


ใช้ group.size() เพื่อนับจำนวนแถวในแต่ละกลุ่ม นำเข้าไลบรารีที่จำเป็น -

import pandas as pd

สร้าง DataFrame -

dataFrame = pd.DataFrame({'Product Category': ['Computer', 'Mobile Phone', 'Electronics', 'Electronics', 'Computer', 'Mobile Phone'],'Quantity': [10, 50, 10, 20, 25, 50],'Product Name': ['Keyboard', 'Charger', 'SmartTV', 'Camera', 'Graphic Card', 'Earphone']
})

จัดกลุ่มตามคอลัมน์ −

dataFrame.groupby(["Product Category", "Quantity"])

ตอนนี้นับขนาดกลุ่มเพื่อรับจำนวนแถวในแต่ละกลุ่ม

ตัวอย่าง

ต่อไปนี้เป็นรหัสที่สมบูรณ์ -

import pandas as pd

# create a dataframe
dataFrame = pd.DataFrame({'Product Category': ['Computer', 'Mobile Phone', 'Electronics', 'Electronics', 'Computer', 'Mobile Phone'],'Quantity': [10, 50, 10, 20, 25, 50],'Product Name': ['Keyboard', 'Charger', 'SmartTV', 'Camera', 'Graphic Card', 'Earphone']
})

# dataframe
print"Dataframe...\n",dataFrame

# grouping columns
new_group = dataFrame.groupby(["Product Category", "Quantity"])

# group size
new_group = new_group.size()

# dataframe
print"\nUpdated Dataframe...\n",new_group

ผลลัพธ์

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

Dataframe...
   Product Category   Product Name   Quantity
0          Computer       Keyboard         10
1      Mobile Phone        Charger         50
2       Electronics        SmartTV         10
3       Electronics         Camera         20
4          Computer   Graphic Card         25
5      Mobile Phone       Earphone         50

Updated Dataframe...
Product Category   Quantity
Computer           10        1
                   25        1
Electronics        10        1
                   20        1
Mobile Phone       50        2
dtype: int64