Pandas में value_counts() फ़ंक्शन किसी कॉलम में प्रत्येक अद्वितीय मान की आवृत्ति (frequency) गिनने के लिए उपयोग किया जाता है। यह एक Series लौटाता है जिसमें इंडेक्स पर अद्वितीय मान होते हैं और मान उनकी संबंधित गिनती होती हैं।
उदाहरण: डेटाफ्रेम बनाना
सबसे पहले, 4 कॉलम वाला एक DataFrame बनाते हैं:
import pandas as pd
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Mustang', 'Tesla', 'Mustang', 'Mercedes', 'Tesla', 'Audi'],
"Cubic Capacity": [2000, 1800, 1500, 2500, 2200, 3000, 2000],
"Reg Price": [7000, 1500, 5000, 8000, 9000, 6000, 1500],
"Units Sold": [200, 120, 150, 120, 210, 250, 220]
})
विशिष्ट कॉलम के लिए मान और गिनती प्राप्त करना
'Car' कॉलम के लिए
res = dataFrame['Car'].value_counts()
print(res)
'Units Sold' कॉलम के लिए
res = dataFrame['Units Sold'].value_counts()
print(res)
पूर्ण कोड उदाहरण
import pandas as pd
# डेटाफ्रेम बनाना
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Mustang', 'Tesla', 'Mustang', 'Mercedes', 'Tesla', 'Audi'],
"Cubic Capacity": [2000, 1800, 1500, 2500, 2200, 3000, 2000],
"Reg Price": [7000, 1500, 5000, 8000, 9000, 6000, 1500],
"Units Sold": [200, 120, 150, 120, 210, 250, 220]
})
print("DataFrame:\n", dataFrame)
# Car कॉलम के लिए value_counts
res = dataFrame['Car'].value_counts()
print("\nCar कॉलम से मान के नाम और गिनती:\n", res)
# Units Sold कॉलम के लिए value_counts
res = dataFrame['Units Sold'].value_counts()
print("\nUnits Sold कॉलम से मान के नाम और गिनती:\n", res)
आउटपुट व्याख्या
उपरोक्त कोड निम्न आउटपुट देगा:
DataFrame:
Car Cubic Capacity Reg Price Units Sold
0 BMW 2000 7000 200
1 Mustang 1800 1500 120
2 Tesla 1500 5000 150
3 Mustang 2500 8000 120
4 Mercedes 2200 9000 210
5 Tesla 3000 6000 250
6 Audi 2000 1500 220
Car कॉलम से मान के नाम और गिनती:
Mustang 2
Tesla 2
Audi 1
BMW 1
Mercedes 1
Name: Car, dtype: int64
Units Sold कॉलम से मान के नाम और गिनती:
120 2
150 1
220 1
210 1
250 1
200 1
Name: Units Sold, dtype: int64
महत्वपूर्ण बिंदु
value_counts()डिफ़ॉल्ट रूप से गिनती को अवरोही क्रम (descending order) में सॉर्ट करता है।- परिणाम एक Series होता है जिसका इंडेक्स अद्वितीय मान होता है और मान उनकी गिनती होती है।
- आप
sort=Falseपैरामीटर का उपयोग करके सॉर्टिंग को रोक सकते हैं। normalize=Trueका उपयोग करके प्रतिशत (percentage) प्राप्त कर सकते हैं।
अतिरिक्त उपयोगी पैरामीटर
# गिनती के बजाय प्रतिशत प्राप्त करें
percentage = dataFrame['Car'].value_counts(normalize=True)
print(percentage)
# NaN मानों को शामिल करें
with_nan = dataFrame['Car'].value_counts(dropna=False)
print(with_nan)
# आरोही क्रम में सॉर्ट करें
ascending = dataFrame['Car'].value_counts().sort_index()
print(ascending)