इस तरह के कार्य के लिए बूलियन इंडेक्सिंग का उपयोग करना काफी आम है। इस विधि के साथ, आप यह पता लगाते हैं कि कॉलम a
1
के बराबर है और फिर b
कॉलम की संबंधित पंक्तियों को जोड़ता है। आप अनुक्रमण संभाल करने loc
उपयोग कर सकते हैं:
>>> df.loc[df['a'] == 1, 'b'].sum()
15
वैकल्पिक दृष्टिकोण groupby
उपयोग करने के लिए स्तंभ a
के मान के अनुसार भागों में विभाजित करने के लिए dataframe है। इसके बाद आप प्रत्येक भाग योग और मूल्य है कि 1 की अप करने के लिए जोड़ा बाहर खींच कर सकते हैं:
>>> df.groupby('a')['b'].sum()[1]
15
groupby
दृष्टिकोण बूलियन अनुक्रमण का उपयोग करने से बहुत धीमी है, लेकिन उपयोगी है आप स्तंभ में अन्य मूल्यों के लिए रकम की जांच करना चाहते हैं a
।
स्रोत
2015-01-30 12:53:51
इस कार्य को करने के लिए पांडा में फ़ंक्शन द्वारा समूह का उपयोग करें –