पांडा: प्रतिशत के साथ क्रॉसस्टैब कैसे बनाएं
आप एक क्रॉसस्टैब बनाने के लिए पांडा क्रॉसस्टैब() फ़ंक्शन में सामान्यीकृत तर्क का उपयोग कर सकते हैं जो संख्याओं के बजाय प्रतिशत मान प्रदर्शित करता है:
p.d. crosstab (df. col1 , df. col2 , normalize=' index ')
सामान्यीकरण तर्क तीन अलग-अलग तर्क स्वीकार करता है:
- सभी : सभी मानों के सापेक्ष प्रतिशत दिखाएँ।
- सूचकांक : कुल पंक्ति मानों के रूप में प्रतिशत दिखाएँ।
- कॉलम : कॉलम मानों के कुल के रूप में प्रतिशत प्रदर्शित करता है।
निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित पांडा डेटाफ़्रेम के साथ अभ्यास में इनमें से प्रत्येक विधि का उपयोग कैसे करें:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '], ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'], ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]}) #view DataFrame print (df) team position points 0 AG 22 1 AG 25 2 AF 24 3 BG 39 4 BF 34 5 BF 20 6 BF 18 7 GC 17 8 GC 20 9 CF 19 10 CF 22
प्रति टीम खिलाड़ियों की संख्या और स्थिति के लिए डिफ़ॉल्ट क्रॉसस्टैब कैसा दिखेगा:
#create crosstab that displays count by team and position
p.d. crosstab (df. team , df. position )
position F G
team
AT 12
B 3 1
C 2 2
उदाहरण 1: सभी मानों के सापेक्ष प्रतिशत के साथ एक क्रॉसस्टैब बनाएं
हम एक क्रॉसस्टैब बनाने के लिए सामान्यीकृत=सभी तर्क के साथ क्रॉसस्टैब() फ़ंक्शन का उपयोग कर सकते हैं जो सभी मानों की कुल संख्या के सापेक्ष प्रत्येक मान का प्रतिशत प्रदर्शित करता है:
#create crosstab that displays counts as percentage relative to total count p.d. crosstab (df. team , df. position , normalize=' all ') position F G team A 0.090909 0.181818 B 0.272727 0.090909 C 0.181818 0.181818
यहां परिणाम की व्याख्या करने का तरीका बताया गया है:
- स्थिति F में टीम A के खिलाड़ी कुल खिलाड़ियों का 9.09% प्रतिनिधित्व करते हैं।
- स्थिति G में टीम A के खिलाड़ी कुल खिलाड़ियों का 18.18% प्रतिनिधित्व करते हैं।
और इसी तरह।
उदाहरण 2: पंक्ति के योग के विरुद्ध प्रतिशत के साथ एक क्रॉसस्टैब बनाएं
हम एक क्रॉसस्टैब बनाने के लिए नॉर्मलाइज़ = इंडेक्स तर्क के साथ क्रॉसस्टैब () फ़ंक्शन का उपयोग कर सकते हैं जो पंक्ति कुल के सापेक्ष प्रत्येक मान का प्रतिशत प्रदर्शित करता है:
#create crosstab that displays counts as percentage relative to row totals p.d. crosstab (df. team , df. position , normalize=' index ') position F G team A 0.333333 0.666667 B 0.750000 0.250000 C 0.500000 0.500000
यहां परिणाम की व्याख्या करने का तरीका बताया गया है:
- स्थिति F के खिलाड़ी टीम A के कुल खिलाड़ियों का 33.33% प्रतिनिधित्व करते हैं।
- स्थिति F के खिलाड़ी टीम B के कुल खिलाड़ियों का 75% प्रतिनिधित्व करते हैं।
- स्थिति F के खिलाड़ी टीम C के कुल खिलाड़ियों का 50% प्रतिनिधित्व करते हैं।
और इसी तरह।
उदाहरण 3: कॉलम के कुल योग के विरुद्ध प्रतिशत के साथ एक क्रॉसस्टैब बनाएं
हम एक क्रॉसस्टैब बनाने के लिए नॉर्मलाइज़ = कॉलम तर्क के साथ क्रॉसस्टैब () फ़ंक्शन का उपयोग कर सकते हैं जो कॉलम कुल के सापेक्ष प्रत्येक मान का प्रतिशत प्रदर्शित करता है:
#create crosstab that displays counts as percentage relative to column totals p.d. crosstab (df. team , df. position , normalize=' columns ') position F G team A 0.166667 0.4 B 0.500000 0.2 C 0.333333 0.4
यहां परिणाम की व्याख्या करने का तरीका बताया गया है:
- टीम ए के खिलाड़ी एफ स्थिति वाले कुल खिलाड़ियों में से 16.67% का प्रतिनिधित्व करते हैं।
- टीम बी के खिलाड़ी एफ स्थिति वाले कुल खिलाड़ियों में से 50% का प्रतिनिधित्व करते हैं।
- टीम सी के खिलाड़ी एफ स्थिति वाले कुल खिलाड़ियों में से 33.33% का प्रतिनिधित्व करते हैं।
और इसी तरह।
नोट : आप पांडा क्रॉसटैब() फ़ंक्शन का पूरा दस्तावेज़ यहां पा सकते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पांडा में अन्य सामान्य कार्य कैसे करें:
पांडा: ग्रुपबी और वैल्यू काउंट का उपयोग कैसे करें
पांडा: बिन गिनती के साथ GroupBy का उपयोग कैसे करें
पांडा: शर्त के साथ कॉलम में मानों की गणना कैसे करें