प्रश्न
को GroupBy वस्तु कन्वर्ट वहाँ दो प्रश्न हैं जो समान लग रहे हैं, लेकिन वे एक ही सवाल नहीं कर रहे हैं: here और here। वे GroupBy
, जैसे count()
या aggregate()
की एक विधि को कॉल करते हैं, जो मुझे पता है कि DataFrame
लौटाता है। मैं क्या पूछ रहा हूं कि GroupBy
(वर्ग pandas.core.groupby.DataFrameGroupBy
) को अपने आप को DataFrame
में परिवर्तित करने का तरीका है। मैं नीचे बताऊंगा।अजगर पांडा DataFrame
उदाहरण
इस प्रकार एक उदाहरण DataFrame
का निर्माण।
data_list = []
for name in ["sasha", "asa"]:
for take in ["one", "two"]:
row = {"name": name, "take": take, "score": numpy.random.rand(), "ping": numpy.random.randint(10, 100)}
data_list.append(row)
data = pandas.DataFrame(data_list)
ऊपर DataFrame
निम्नलिखित की तरह (के साथ अलग अलग संख्या स्पष्ट रूप से) दिखना चाहिए।
name ping score take
0 sasha 72 0.923263 one
1 sasha 14 0.724720 two
2 asa 76 0.774320 one
3 asa 71 0.128721 two
मुझे क्या करना चाहते हैं कॉलम "नाम" द्वारा समूह के लिए है और इसलिए है कि मैं एक DataFrame
multiindex कॉलम "नाम" का निर्माण किया द्वारा अनुक्रमित प्राप्त कर सकते हैं "ले" (इसी क्रम में), और नीचे की तरह "ले लो"।
score ping
name take
sasha one 0.923263 72
two 0.724720 14
asa one 0.774320 76
two 0.128721 71
मैं इसे कैसे प्राप्त करूं? अगर मैं grouped = data.groupby(["name", "take"])
करता हूं, तो grouped
एक pandas.core.groupby.DataFrameGroupBy
उदाहरण है। मैं grouped
को DataFrame
उदाहरण में कैसे परिवर्तित करूं?
Oooooh !!!! Riiiiiight !!!!! ठीक है, मैं इस जवाब को 9 मिनट में स्वीकार करूंगा जब स्टैक ओवरफ़्लो मुझे देता है। धन्यवाद। – Ray
जब मैं इस उत्तर का उपयोग करने का प्रयास करता हूं, तो मुझे 'विशेषता' त्रुटि मिलती है। "डेटाफ्रेम ग्रुपबी 'ऑब्जेक्ट्स के कॉल करने योग्य विशेषता' set_index 'तक नहीं पहुंच सकता है,' लागू करें 'विधि का उपयोग करने का प्रयास करें" – Nate
@Nate - ऐसा लगता है कि' डेटा' 'डेटाफ्रेम' नहीं है, लेकिन समूहबी का आउटपुट - इसलिए 'g = df.groupby की आवश्यकता है ('col') 'और फिर 'g.apply (lambda x: x [' col1 ']। set_index())' – jezrael