[问题] groupby之后怎么存到excel不同sheet

楼主: Brahms5566 (Brahms)   2018-07-14 11:42:14
板上的各位大大好
最近刚开始接触程式语言,挫折感好强烈@@..
请问对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进去
请问要怎么写会比较好..
谢谢读完的板友们!!
作者: f496328mm (为什么会流泪)   2018-07-14 17:31:00
有一种东西叫做for
楼主: Brahms5566 (Brahms)   2018-07-14 23:44:00
有试过for 可是不知道要怎么将变量用循环写@@请问可以提供我一些方向吗
作者: iphone2003 (307)   2018-07-15 00:40:00
先用types = df2['词性'].unique()取得所有词性种类然后for t in types:group = grouped.get(name=t)group.to_excel(writer, sheet_name=t)不过其实用不着做groupby就是了...
作者: OnePiecePR (OPPR)   2018-07-15 00:46:00
iphone 好强
作者: iphone2003 (307)   2018-07-15 01:15:00
啊啊我打错了 不是.get是.get_group 抱歉
楼主: Brahms5566 (Brahms)   2018-07-15 23:55:00
感谢iphone大大!成功了!但想再请教为什么您说不用做groupby呢?
作者: iphone2003 (307)   2018-07-16 03:18:00
如果只是想挑出相同词性的,那df2[df2['词性'] == '名词']这样就可以了
楼主: Brahms5566 (Brahms)   2018-07-16 08:56:00
原来如此 谢谢~

Links booklink

Contact Us: admin [ a t ] ucptt.com