作者Brahms5566 (Brahms)
看板Python
標題[問題] groupby之後怎麼存到excel不同sheet
時間Sat Jul 14 11:42:14 2018
板上的各位大大好
最近剛開始接觸程式語言,挫折感好強烈@@..
請問對dataframe做groupby分群之後,我想要把每個分類儲存到excel的不同sheet
sheet的名字是分類的名字,例如:形容詞、動詞、名詞
目前的寫法如下,覺得寫的很笨..好像比直接用excel還要慢...
grouped = df2.groupby('詞性')
g1 = grouped.get_group(name = '介系詞')
g2 = grouped.get_group(name = '代名詞')
g3 = grouped.get_group(name = '冠詞')
writer = pd.ExcelWriter('爬蟲-基本1200字詞.xls')
g1.to_excel(writer, sheet_name='介系詞')
g2.to_excel(writer, sheet_name='代名詞')
g3.to_excel(writer, sheet_name='冠詞')
writer.save()
如果group裡面有20個不同的分類,照現在的寫法必須要複製20行定義變數,
然後再對20個變數設定儲存sheet,而且sheet的名字還要手動key進去
請問要怎麼寫會比較好..
謝謝讀完的板友們!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.195.53
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1531539737.A.6E3.html
→ f496328mm: 有一種東西叫做for 07/14 17:31
→ Brahms5566: 有試過for 可是不知道要怎麼將變數用迴圈寫@@ 07/14 23:44
→ Brahms5566: 請問可以提供我一些方向嗎 07/15 00:25
推 iphone2003: 先用types = df2['詞性'].unique()取得所有詞性種類 07/15 00:40
→ iphone2003: 然後for t in types: 07/15 00:41
→ iphone2003: group = grouped.get(name=t) 07/15 00:42
→ iphone2003: group.to_excel(writer, sheet_name=t) 07/15 00:43
→ iphone2003: 不過其實用不著做groupby就是了... 07/15 00:43
推 OnePiecePR: iphone 好強 07/15 00:46
推 iphone2003: 啊啊我打錯了 不是.get是.get_group 抱歉 07/15 01:15
→ Brahms5566: 感謝iphone大大!成功了!但想再請教為什麼您說不用 07/15 23:55
→ Brahms5566: 做groupby呢? 07/15 23:56
推 iphone2003: 如果只是想挑出相同詞性的,那df2[df2['詞性'] == '名 07/16 03:18
→ iphone2003: 詞']這樣就可以了 07/16 03:18
→ Brahms5566: 原來如此 謝謝~ 07/16 08:56