python - Converting Pandas groupby.groups result into dataframe, using index tuple value as row and columns name of dataframe -


मेरे groupby.groups रिटर्न के रिसेट्स:

  {(2014, 36): [2], (2014, 41): [3, 4], (2013, 10): [0], (2014, 48): [5], (2014, 37): [1]}   

मैं इसे एक डेटाफ्रेम में परिवर्तित करना चाहता हूं जो इस तरह दिखाई देगा:

  2013 2014 10 1 0 36 0 1 37 0 1 41 0 2 48 0 1   

- जोड़ता है - यहाँ groupby.groups के परिणाम के लिए मेरा कार्यप्रवाह है:

  def tr_epoch (युग): y, wn, dn = epoch.isocalendar ( ) वापसी y, wn d = [1362826800, 1410260400, 1409828400, 1412766000, 1412769600, 1417262400] l = नक्शा (लैम्ब्डा x: tr_epoch (datetime.datetime.fromtimestamp (x)), d) df = pd.DataFrame (एल, कॉलम = ['वर्ष', 'सप्ताह_एक्स']] res = df.groupby (['year', 'week_idx'])। समूह   

- जोड़ता है - पायथनिक तरीके से, का उपयोग करके पुनरावृत्ति, मैं करूँगा:

  def to_dict (k, v): yr, wk = k वापसी {'सप्ताह': wk, yr: len (v)} डेटा = नक्शे (लैम्ब्डा ( K, v): to_dict (k, v), res.iteritems ()) df = pd.DataFrame.from_records (डेटा, अनुक्रमणिका = 'सप्ताह')। भरना (0 ) .sort ()   

लेकिन मुझे यकीन है, ऐसा करने के लिए एक पांडा रास्ता है।

तो क्या आप प्रत्येक समूह के आकार की गणना करना चाहते हैं? फिर आप ऐसा कर सकते हैं:

  में [31]: df.groupby (['year', 'week_idx']) आकार () आउट [31]: year week_idx 2013 10 1 2014 36 1 37 1 41 2 48 1 डीटीपी: इंट 64   

इसे अपेक्षित आउटपुट पर नज़र रखना, अब हम 'वर्ष' सूचकांक स्तर को स्थानांतरित करने के लिए unstack का उपयोग कर सकते हैं स्तंभों के लिए पंक्तियां (और 0 का उपयोग करने के लिए भरना ):

  में [33]: df.groupby (['year', 'week_idx'] )। आकार ()। अनस्टैक (0)। फ़िलना (0) आउट [33]: वर्ष 2013 2014 सप्ताह_आड x 10 1 0 36 0 1 37 0 1 41 0 2 48 0 1    

Comments

Popular posts from this blog

php - PDO bindParam() fatal error -

logging - How can I log both the Request.InputStream and Response.OutputStream traffic in my ASP.NET MVC3 Application for specific Actions? -

java - Why my included JSP file won't get processed correctly? -