ग्रुपबाई वैल्यू काउंट के लिए, पांडास डेटाफ्रेम के groupby(), size() और unstack() मेथड्स का उपयोग करें। पहले, 3 कॉलम वाला एक डेटाफ्रेम बनाएं:
dataFrame = pd.DataFrame({
'Product Category': ['Computer', 'Mobile Phone', 'Electronics', 'Electronics', 'Computer', 'Mobile Phone'],
'Product Name': ['Keyboard', 'Charger', 'SmartTV', 'Camera', 'Graphic Card', 'Earphone'],
'Quantity': [10, 50, 10, 20, 25, 50]})
अब, groupby() मेथड से वैल्यू काउंट करें। काउंट के लिए, size() और unstack() का उपयोग करें। unstack() कॉलम लेबल का एक नया स्तर देता है:
dataFrame = dataFrame.groupby(['Product Category', 'Product Name', 'Quantity']).size().unstack(fill_value=0)
उदाहरण
पूरा कोड निम्नलिखित है:
import pandas as pd
# create a dataframe with 3 columns
dataFrame = pd.DataFrame({
'Product Category': ['Computer', 'Mobile Phone', 'Electronics', 'Electronics', 'Computer', 'Mobile Phone'],
'Product Name': ['Keyboard', 'Charger', 'SmartTV', 'Camera', 'Graphic Card', 'Earphone'],
'Quantity': [10, 50, 10, 20, 25, 50]})
# dataframe
print("Dataframe...\n", dataFrame)
# count and unstack
dataFrame = dataFrame.groupby(['Product Category', 'Product Name', 'Quantity']).size().unstack(fill_value=0)
print("\nResultant DataFrame...\n", dataFrame)
आउटपुट
यह निम्नलिखित आउटपुट देगा:
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
Resultant DataFrame... Quantity 10 20 25 50
Product Category Product Name
Computer Graphic Card 0 0 1 0
Keyboard 1 0 0 0
Electronics Camera 0 1 0 0
SmartTV 1 0 0 0
Mobile Phone Charger 0 0 0 1
Earphone 0 0 0 1