2017-07-18 4 views
10

मैं Pandas का उपयोग करता हूं और यह बहुत अच्छा है। मैं TimeGrouper का भी उपयोग करता हूं, और यह बहुत अच्छा है। मैं वास्तव में नहीं जानता कि TimeGrouper के बारे में प्रलेखन कहां है। क्या वहाँ कोई?पांडा: टाइमग्राउपर के लिए प्रलेखन कहां है?

धन्यवाद!

उत्तर

13

अपडेट किया गया:

pd.TimeGrouper()pd.Grouper() के पक्ष में पांडा v0.21.0 में formally deprecated था।

pd.Grouper() का सबसे अच्छा उपयोग groupby() के भीतर है जब आप गैर-डेटाटाइम-कॉलम पर भी समूह कर रहे हैं। यदि आपको केवल आवृत्ति पर समूह करने की आवश्यकता है, तो resample() का उपयोग करें।

उदाहरण के लिए, मान लीजिए कि आप है:

>>> df = pd.DataFrame({'a': np.random.choice(['x', 'y'], size=50), 
         'b': np.random.rand(50)}, 
         index=pd.date_range('2010', periods=50)) 

आप कर सकता है:

>>> df.groupby(pd.Grouper(freq='M')).sum() 
        b 
2010-01-31 18.5123 
2010-02-28 7.7670 

लेकिन ऊपर एक छोटे से अनावश्यक है क्योंकि आप केवल सूचकांक पर समूहीकरण रहे हैं। इसके बजाय आप कर सकता है:

>>> df.resample('M').sum() 
       0  1 
2010-01-31 13.234 17.641 
2010-02-28 9.142 9.061 

इसके विपरीत, यहाँ एक मामले में जहां Grouper() उपयोगी होगा है:

>>> df.groupby([pd.Grouper(freq='M'), 'a']).sum() 
        b 
      a   
2010-01-31 x 8.9452 
      y 9.5671 
2010-02-28 x 4.2522 
      y 3.5148 

कुछ अधिक विस्तार के लिए, टेड Petrou के Pandas Cookbook के अध्याय 7 पर एक नज़र डालें।

+1

क्या मैं अभी भी 'df.groupby ([pd.Grouper (freq = 'm'), 'brad'] जैसी चीजें कर सकता हूं)। मतलब()'? –

1

pandas.TimeGrouper()was deprecatedpandas.Grouper() के पक्ष में पांडा v0.21 में।

इसके बजाय pandas.Grouper() का उपयोग करें।

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