आइए देखें कि ऋणात्मक और धनात्मक मानों का योग कैसे ज्ञात किया जाए। सबसे पहले, सकारात्मक और नकारात्मक मानों वाला डेटाफ़्रेम बनाएं -
dataFrame = pd.DataFrame({'Place': ['Chicago', 'Denver', 'Atlanta', 'Chicago', 'Dallas', 'Denver','Dallas', 'Atlanta'], 'Temperature': [-2, 30, -5, 10, 30, -5, 20, -10]})
इसके बाद, प्लेस कॉलम के आधार पर ग्रुपबाय टू ग्रुप का उपयोग करें -
groupRes = dataFrame.groupby(dataFrame['Place'])
सकारात्मक और नकारात्मक मानों को वापस करने के लिए लैम्ब्डा फ़ंक्शन का उपयोग करें। हमने अलग-अलग सकारात्मक और नकारात्मक मान भी जोड़े हैं -
# lambda function def plus(val): return val[val > 0].sum() def minus(val): return val[val < 0].sum()
उदाहरण
पूरा कोड निम्नलिखित है -
import pandas as pd # create a DataFrame with temperature in celsius dataFrame = pd.DataFrame({'Place': ['Chicago', 'Denver', 'Atlanta', 'Chicago', 'Dallas', 'Denver','Dallas', 'Atlanta'], 'Temperature': [-2, 30, -5, 10, 30, -5, 20, -10]}) print(dataFrame) # using groupby to group on the basis of place groupRes = dataFrame.groupby(dataFrame['Place']) # lambda function def plus(val): return val[val > 0].sum() def minus(val): return val[val < 0].sum() print(groupRes['Temperature'].agg([('negTemp', minus), ('posTemp', plus)]))
आउटपुट
यह निम्नलिखित कोड उत्पन्न करेगा -
Place Temperature 0 Chicago -2 1 Denver 30 2 Atlanta -5 3 Chicago 10 4 Dallas 30 5 Denver -5 6 Dallas 20 7 Atlanta -10 negTemp posTemp Place Atlanta -15 0 Chicago -2 10 Dallas 0 50 Denver -5 30