पांडा: r के समतुल्य mutate() फ़ंक्शन का उपयोग कैसे करें
आर प्रोग्रामिंग भाषा में, हम मौजूदा कॉलम से गणना किए गए डेटा के फ्रेम में नए कॉलम को तुरंत जोड़ने के लिए dplyr पैकेज से mutate() फ़ंक्शन का उपयोग कर सकते हैं।
उदाहरण के लिए, निम्नलिखित कोड दिखाता है कि आर में किसी विशिष्ट कॉलम के औसत मूल्य की गणना कैसे करें और उस मान को डेटा फ्रेम में एक नए कॉलम के रूप में जोड़ें:
library (dplyr) #create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'), points=c(30, 22, 19, 14, 14, 11, 20, 28)) #add new column that shows mean points by team df <- df %>% group_by(team) %>% mutate(mean_points = mean(points)) #view updated data frame df team points mean_points 1 to 30 21.2 2 A 22 21.2 3 A 19 21.2 4 A 14 21.2 5 B 14 18.2 6 B 11 18.2 7 B 20 18.2 8 B 28 18.2
पांडा में mutate() फ़ंक्शन के समतुल्य ट्रांसफ़ॉर्म() फ़ंक्शन है।
निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस फ़ंक्शन का उपयोग कैसे करें।
उदाहरण: R में mutate() को दोहराने के लिए पांडा में ट्रांसफ़ॉर्म() का उपयोग करना
मान लीजिए कि हमारे पास निम्नलिखित पांडा डेटाफ़्रेम है जो विभिन्न टीमों के बास्केटबॉल खिलाड़ियों द्वारा बनाए गए अंक दिखाता है:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' points ': [30, 22, 19, 14, 14, 11, 20, 28]}) #view DataFrame print (df) team points 0 to 30 1 to 22 2 to 19 3 to 14 4 B 14 5 B 11 6 B 20 7 B 28
हम मीन_पॉइंट्स नामक एक नया कॉलम जोड़ने के लिए ट्रांसफॉर्म() फ़ंक्शन का उपयोग कर सकते हैं जो प्रत्येक टीम द्वारा बनाए गए औसत अंक दिखाता है:
#add new column to DataFrame that shows mean points by team df[' mean_points '] = df. groupby (' team ')[' points ']. transform (' mean ') #view updated DataFrame print (df) team points mean_points 0 to 30 21.25 1 to 22 21.25 2 A 19 21.25 3 to 14 21.25 4 B 14 18.25 5 B 11 18.25 6 B 20 18.25 7 B 28 18.25
टीम ए के खिलाड़ियों के लिए औसत अंक मान 21.25 था और टीम बी के खिलाड़ियों के लिए औसत अंक मान 18.25 था, इसलिए इन मूल्यों को एक नए कॉलम में प्रत्येक खिलाड़ी के अनुसार निर्दिष्ट किया गया था।
ध्यान दें कि यह परिचयात्मक उदाहरण में mutate() फ़ंक्शन का उपयोग करके प्राप्त परिणामों से मेल खाता है।
यह ध्यान देने योग्य है कि आप ट्रांसफ़ॉर्म() फ़ंक्शन में कस्टम गणना करने के लिए लैम्ब्डा का भी उपयोग कर सकते हैं।
उदाहरण के लिए, निम्नलिखित कोड दिखाता है कि प्रत्येक खिलाड़ी द्वारा अपनी-अपनी टीम में बनाए गए कुल अंकों के प्रतिशत की गणना करने के लिए लैम्ब्डा का उपयोग कैसे करें :
#create new column called percent_of_points
df[' percent_of_points '] = df. groupby (' team ')[' points ']. transform ( lambda x:x/ x.sum ())
#view updated DataFrame
print (df)
team points percent_of_points
0 A 30 0.352941
1 A 22 0.258824
2 A 19 0.223529
3 A 14 0.164706
4 B 14 0.191781
5 B 11 0.150685
6 B 20 0.273973
7 B 28 0.383562
यहां परिणाम की व्याख्या करने का तरीका बताया गया है:
- टीम ए के पहले खिलाड़ी ने टीम ए के खिलाड़ियों के बीच कुल 85 में से 30 अंक बनाए। इस प्रकार, उसके कुल अंकों का प्रतिशत 30/85 = 0.352941 था।
- टीम ए के दूसरे खिलाड़ी ने टीम ए के खिलाड़ियों के बीच कुल 85 में से 22 अंक बनाए। इस प्रकार, उसके कुल अंकों का प्रतिशत 22/85 = 0.258824 था।
और इसी तरह।
ध्यान दें कि हम अपनी इच्छानुसार कोई भी कस्टम गणना करने के लिए ट्रांसफॉर्म() फ़ंक्शन में लैम्ब्डा तर्क का उपयोग कर सकते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पांडा में अन्य सामान्य ऑपरेशन कैसे करें:
पंडों में ग्रुपबाय योग कैसे निष्पादित करें
पंडों में ग्रुपबी और प्लॉट का उपयोग कैसे करें
पांडा में GroupBy का उपयोग करके अद्वितीय मानों की गणना कैसे करें