2015-11-02 12 views
22

मेरे पास वर्तमान में एक पांडा Series है जो dtype Timestamp के साथ है, और मैं इसे तिथि के अनुसार समूहित करना चाहता हूं (और प्रत्येक समूह में अलग-अलग पंक्तियों के साथ कई पंक्तियां हैं)।पांडा में मूल्यों से श्रृंखला को कैसे समूहित करें?

grouped = s.groupby(lambda x: x.date()) 

हालांकि करने के लिए कुछ इसी तरह यह कर होगा की उचित रूप में स्पष्ट तरीका है, पांडा 'groupby समूहों अपने सूचकांक से श्रृंखला। मैं इसके बजाय मूल्य से समूह कैसे बना सकता हूं?

+1

IIUC नहीं 'वर्गीकृत किया = s.groupby (s.dt.date)' काम करता है? आप – EdChum

+0

प्राप्त करने की कोशिश कर रहे हैं http://stackoverflow.com/questions/17929426/groupby-for-pandas-series-not-working – luca

उत्तर

3

आपको इसे डेटाफ्रेम में परिवर्तित करना चाहिए, फिर दिनांक() को एक कॉलम जोड़ें। आप तिथि कॉलम के साथ डेटाफ्रेम पर समूहबी कर सकते हैं।

df = pandas.DataFrame(s, columns=["datetime"]) 
df["date"] = df["datetime"].apply(lambda x: x.date()) 
df.groupby("date") 

फिर "तिथि" आपकी अनुक्रमणिका बन जाती है। आपको इसे इस तरह से करना है क्योंकि अंतिम समूहबद्ध ऑब्जेक्ट को एक इंडेक्स की आवश्यकता है ताकि आप select a group जैसी चीजें कर सकें।

29

मैं इस का उपयोग अपने मूल्यों से एक श्रृंखला grouby रहे हैं:

grouped = s.groupby(s) 

या:

grouped = s.groupby(lambda x: s[x]) 
+0

इतना आसान ... धन्यवाद :) –

0

तीन तरीके:

DataFrame: pd.groupby(['column']).size()

श्रृंखला: sel.groupby(sel).size()

DataFrame करने के लिए 10

श्रृंखला:

pd.DataFrame(sel, columns=['column']).groupby(['column']).size()

संबंधित मुद्दे