पांडास ग्रुपबी में फ़ंक्शन कैसे लागू करें


आप पांडा डेटाफ़्रेम में ग्रुपबाय() और अप्लाई() फ़ंक्शंस को एक साथ उपयोग करने के लिए निम्नलिखित मूल सिंटैक्स का उपयोग कर सकते हैं:

 df. groupby (' var1 '). apply ( lambda x: some function)

निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित पांडा डेटाफ़्रेम के साथ व्यवहार में इस सिंटैक्स का उपयोग कैसे करें:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points_for ': [18, 22, 19, 14, 11, 20, 28],
                   ' points_against ': [14, 21, 19, 14, 12, 20, 21]})

#view DataFrame
print (df)

  team points_for points_against
0 to 18 14
1 To 22 21
2 A 19 19
3 B 14 14
4 B 11 12
5 B 20 20
6 B 28 21

उदाहरण 1: सापेक्ष आवृत्तियों को खोजने के लिए ग्रुपबाय() और अप्लाई() का उपयोग करें

निम्नलिखित कोड दिखाता है कि पांडा डेटाफ़्रेम में प्रत्येक टीम के नाम की सापेक्ष आवृत्तियों को खोजने के लिए ग्रुपबी ( ) और अप्लाई () फ़ंक्शन का उपयोग कैसे करें:

 #find relative frequency of each team name in DataFrame
df. groupby (' team '). apply ( lambda x:x[' team ']. count ()/ df.shape [0])

team
A 0.428571
B 0.571429
dtype:float64

परिणाम से, हम देख सकते हैं कि टीम A सभी पंक्तियों में 42.85% में दिखाई देती है और टीम B सभी पंक्तियों में 57.14% में दिखाई देती है।

उदाहरण 2: अधिकतम मान ज्ञात करने के लिए ग्रुपबाय() और अप्लाई() का उपयोग करें

निम्नलिखित कोड दिखाता है कि प्रत्येक टीम के लिए अधिकतम “point_for” मान खोजने के लिए ग्रुपबी ( ) और अप्लाई () फ़ंक्शन का उपयोग कैसे करें:

 #find max "points_for" values for each team
df. groupby (' team '). apply ( lambda x:x[' points_for ']. max ())

team
At 22
B28
dtype: int64

परिणाम से, हम देख सकते हैं कि टीम A द्वारा बनाए गए अधिकतम अंक 22 हैं और टीम B द्वारा बनाए गए अधिकतम अंक 28 हैं।

उदाहरण 3: कस्टम गणना करने के लिए ग्रुपबाय() और अप्लाई() का उपयोग करें

निम्नलिखित कोड दिखाता है कि प्रत्येक टीम के लिए “point_for” और “point_against” के बीच औसत अंतर खोजने के लिए ग्रुपबी ( ) और अप्लाई () फ़ंक्शन का उपयोग कैसे करें:

 #find max "points_for" values for each team
df. groupby (' team '). apply ( lambda x: (x[' points_for '] - x[' points_against ']). mean ())

team
A 1.666667
B 1.500000
dtype:float64

परिणामों से, हम देख सकते हैं कि “के लिए अंक” और “विरुद्ध अंक” के बीच औसत अंतर टीम ए के लिए 1.67 और टीम बी के लिए 1.50 है।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि पांडा में अन्य सामान्य ऑपरेशन कैसे करें:

पंडों में ग्रुपबाय योग कैसे निष्पादित करें
पंडों में ग्रुपबी और प्लॉट का उपयोग कैसे करें
पांडा में GroupBy का उपयोग करके अद्वितीय मानों की गणना कैसे करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *