में अन्य रखें, मेरा प्रश्न पांडा के साथ ग्रुपबी ऑपरेशन के बारे में है। मैं स्तंभ बी द्वारा समूहीकृत करना चाहते हैं और स्तंभ ए पर एक योग करते हैं लेकिन अंत में, मैं स्तंभ सी चाहते हैं अभी भी होने के लिए:एक कॉलम पर पांडस ग्रुपबी ऑपरेशन कैसे करें, लेकिन परिणामी डेटाफ्रेम
In [4]: df = pd.DataFrame({"A": range(4), "B": ["PO", "PO", "PA", "PA"], "C": ["Est", "Est", "West", "West"]})
In [5]: df
Out[5]:
A B C
0 0 PO Est
1 1 PO Est
2 2 PA West
3 3 PA West
यह मैं करना चाहते हैं क्या है: मैं निम्नलिखित DataFrame है डेटाफ्रेम में। यदि मैं करता हूं:
In [8]: df.groupby(by="B").aggregate(pd.np.sum)
Out[8]:
A
B
PA 5
PO 1
यह नौकरी करता है लेकिन कॉलम सी गुम है। मैं भी ऐसा कर सकते हैं:
In [9]: df.groupby(by=["B", "C"]).aggregate(pd.np.sum)
Out[9]:
A
B C
PA West 5
PO Est 1
या
In [11]: df.groupby(by=["B", "C"], as_index=False).aggregate(pd.np.sum)
Out[11]:
B C A
0 PA West 5
1 PO Est 1
लेकिन दोनों ही मामलों में यह बी और सी और सिर्फ बी और सी मूल्य रखता है नहीं द्वारा समूह। क्या मैं अप्रासंगिक करना चाहता हूं या ऐसा करने का कोई तरीका है?
यह काम करता है और यदि 'C' मूल्य सभी मूल्यों कि वर्गीकृत किया जा रहा है पर एक ही है। अन्यथा 'विलय' नौकरी करेगा। – Khris
@ क्रिसिस, आपके संकेत के लिए धन्यवाद! मैंने एक वैकल्पिक समाधान जोड़ा है जो '.transform()' विधि – MaxU
अद्भुत का उपयोग करता है !! बहुत बहुत धन्यवाद। – Ger