पायथन में फ़्रीक्वेंसी टेबल कैसे बनाएं
आवृत्ति तालिका एक तालिका है जो विभिन्न श्रेणियों की आवृत्तियों को प्रदर्शित करती है। इस प्रकार की तालिका डेटा सेट में मूल्यों के वितरण को समझने के लिए विशेष रूप से उपयोगी है।
यह ट्यूटोरियल बताता है कि पायथन में फ़्रीक्वेंसी टेबल कैसे बनाएं।
किसी शृंखला के लिए एक-तरफ़ा आवृत्ति तालिका
पांडा श्रृंखला में व्यक्तिगत मानों की आवृत्तियों को खोजने के लिए, आप value_counts() फ़ंक्शन का उपयोग कर सकते हैं:
import pandas as pd #defineSeries data = pd.Series([1, 1, 1, 2, 3, 3, 3, 3, 4, 4, 5]) #find frequencies of each value data.value_counts() 3 4 1 3 4 2 5 1 2 1
यदि आप नहीं चाहते कि डेटा मानों को आवृत्ति के आधार पर क्रमबद्ध किया जाए, तो आप sort=गलत तर्क जोड़ सकते हैं:
data.value_counts(sort= False )
1 3
2 1
3 4
4 2
5 1
परिणाम की व्याख्या करने का तरीका इस प्रकार है:
- श्रृंखला में मान “1” 3 बार दिखाई देता है।
- मान “2” श्रृंखला में 1 बार प्रकट होता है।
- श्रृंखला में मान “3” 4 बार दिखाई देता है।
और इसी तरह।
डेटाफ़्रेम के लिए एक-तरफ़ा आवृत्ति तालिका
पांडा डेटाफ़्रेम की आवृत्तियों को खोजने के लिए आप क्रॉसस्टैब () फ़ंक्शन का उपयोग कर सकते हैं, जो निम्नलिखित सिंटैक्स का उपयोग करता है:
क्रॉसस्टैब (सूचकांक, कॉलम)
सोना:
- अनुक्रमणिका: समूहित करने के लिए कॉलम का नाम
- कॉलम: आवृत्ति कॉलम को दिया जाने वाला नाम
उदाहरण के लिए, मान लें कि हमारे पास एक डेटाफ़्रेम है जिसमें एक कक्षा में 10 अलग-अलग छात्रों के ग्रेड, आयु और लिंग के बारे में जानकारी है। यहां प्रत्येक अक्षर ग्रेड की आवृत्ति जानने का तरीका बताया गया है:
#create data df = pd.DataFrame({'Grade': ['A','A','A','B','B', 'B', 'B', 'C', 'D', 'D '], 'Age': [18, 18, 18, 19, 19, 20, 18, 18, 19, 19], 'Gender': ['M','M', 'F', 'F', 'F', 'M', 'M', 'F', 'M', 'F']}) #view data df Grade Age Gender 0 to 18 m 1 to 18 m 2 A 18 F 3 B 19 F 4 B 19 F 5 B 20 M 6 B 18 M 7 C 18 F 8 D 19 M 9 D 19 F #find frequency of each letter grade pd.crosstab(index=df[' Grade '], columns=' count ') col_0 count Grade At 3 B4 C 1 D 2
इसकी व्याख्या करने का तरीका यह है:
- कक्षा में 3 विद्यार्थियों को “ए” प्राप्त हुआ।
- कक्षा में 4 विद्यार्थियों को “बी” प्राप्त हुआ।
- कक्षा में 1 छात्र को “सी” प्राप्त हुआ।
- कक्षा में 2 छात्रों को “डी” प्राप्त हुआ।
हम अन्य स्तंभों के लिए आवृत्ति गणना खोजने के लिए समान सिंटैक्स का उपयोग कर सकते हैं। उदाहरण के लिए, उम्र के अनुसार आवृत्ति कैसे पता करें:
pd.crosstab(index=df[' Age '], columns=' count ') col_0 count Age 18 5 19 4 20 1
इसकी व्याख्या करने का तरीका यह है:
- 5 छात्र 18 वर्ष के हैं।
- 4 छात्र 19 साल के हैं.
- 1 छात्र 20 वर्ष का है।
आप आवृत्तियों को योग से विभाजित करके डेटासेट के अनुपात के रूप में भी आसानी से प्रदर्शित कर सकते हैं:
#define crosstab tab = pd.crosstab(index=df['Age'], columns='count') #find proportions tab/tab.sum() col_0 count Age 18 0.5 19 0.4 20 0.1
इसकी व्याख्या करने का तरीका यह है:
- 50% छात्र 18 वर्ष के हैं।
- 40% छात्र 19 वर्ष के हैं।
- 10% छात्र 20 वर्ष के हैं।
डेटाफ़्रेम के लिए द्विदिशीय आवृत्ति तालिकाएँ
आप डेटा सेट में दो अलग-अलग चर की आवृत्तियों को प्रदर्शित करने के लिए दो-तरफ़ा आवृत्ति तालिका भी बना सकते हैं। उदाहरण के लिए, यहां आयु और ग्रेड चर के लिए दो-तरफ़ा आवृत्ति तालिका बनाने का तरीका बताया गया है:
pd.crosstab(index=df[' Age '], columns=df[' Grade ']) Grade A B C D Age 18 3 1 1 0 19 0 2 0 2 20 0 1 0 0
इसकी व्याख्या करने का तरीका यह है:
- 18 वर्ष की आयु के 3 छात्र हैं जिन्हें कक्षा में “ए” प्राप्त हुआ है।
- 1 छात्र है जो 18 वर्ष का है और उसे कक्षा में “बी” प्राप्त हुआ है।
- 1 छात्र है जो 18 वर्ष का है और उसे कक्षा में “सी” प्राप्त हुआ है।
- 18 वर्ष की आयु के 0 छात्र हैं जिन्हें कक्षा में “डी” प्राप्त हुआ है।
और इसी तरह।
आप यहां क्रॉसस्टैब() फ़ंक्शन के लिए संपूर्ण दस्तावेज़ पा सकते हैं।