现在需要将course分组,然后选择出每一组里面的最大值和最小值,并保留下来
实现下面数据结果:
直接使用groupby函数,不能直接达到此效果,需要在groupby函数上添加apply和lambda函数
代码如下:
import pandas as pd data = pd.read_excel('group_apply.xlsx') data1 = data.groupby('course').apply(lambda t: t[(t['grade']==t['grade'].min()) ^ (t['grade']==t['grade'].max())])
前面的index,是两列,所以需要处理一下,这个是groypby函数处理之后所产生,只需要删除即可
data2 = data1.reset_index(drop=True)
代码整合:
import pandas as pd data = pd.read_excel('group_apply.xlsx') data1 = data.groupby('course').apply(lambda t: t[(t['grade']==t['grade'].min()) ^ (t['grade']==t['grade'].max())]) data2 = data1.reset_index(drop=True)
写入到excel中:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)