找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: xyzxz

[求助] 如何在DataFrame数据以一列为关键字分组,并选取所有组前N....

1

主题

15

帖子

15

积分

贫民

积分
15
xyzxz  楼主| 发表于 2021-2-4 16:56:41 | 显示全部楼层
sheeboard 发表于 2021-2-3 20:49
运行环境还是换主流一点的版本,去下个anaconda,方便一点。temp1 = temp.sort_values('总分', ascending=F ...

非常感谢,你的帮助。换python3.8后,还报同样的警告信息,生成文件是空的。这个是我电话,13838312737,您看方便联系吗?(冒昧了)
回复

使用道具 举报

1

主题

15

帖子

15

积分

贫民

积分
15
xyzxz  楼主| 发表于 2021-2-4 17:28:34 | 显示全部楼层
xyzxz 发表于 2021-2-4 16:56
非常感谢,你的帮助。换python3.8后,还报同样的警告信息,生成文件是空的。这个是我电话,13838312737, ...

如果用df.loc,我改为这样:temp=df1.loc[df1['学校']==school_name],还是不行
回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2021-2-4 17:55:11 | 显示全部楼层
本帖最后由 sheeboard 于 2021-2-4 17:57 编辑

把要做的文件发给我吧,我来做。文件太大的话发网盘。
回复

使用道具 举报

1

主题

15

帖子

15

积分

贫民

积分
15
xyzxz  楼主| 发表于 2021-2-5 15:32:23 | 显示全部楼层
sheeboard 发表于 2021-2-4 17:55
把要做的文件发给我吧,我来做。文件太大的话发网盘。

好的,那您帮我做吧,文件不超过5M。您加我微信吧。(13838312737)
回复

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
bulebird09 发表于 2021-2-7 23:56:58 | 显示全部楼层
import pandas as pd

df1 = pd.read_excel('测试数据.xlsx')
df2 = pd.read_excel('每个学校取的人数.xlsx')
df1.sort_values(by=['学校', '总分'], ascending=False)

result = pd.DataFrame()

for ind, data in df2.iterrows():
    school_name = data['学校']
    num = data['人数']
    temp = df1[df1['学校'] == school_name]
    result = pd.concat([result, temp.head(num)])

result.to_excel('result.xlsx', index=False)
回复

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
caiqingguo 发表于 2021-2-8 23:01:05 | 显示全部楼层
跪请高手出手!
回复

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
senlan 发表于 2021-2-18 20:31:04 | 显示全部楼层
import pandas as pd
df1=pd.read_excel('测试数据.xlsx')
df2=pd.read_excel('每个学校取的人数.xlsx')
def judge(x):
    for i in range(len(df2)):
        if df2.loc[i,"学校"]== x.name:
            return  x[:df2.loc[i,'人数']]
df=df1.groupby("学校").apply(judge)
df=df.reset_index(drop=True)
df.sort_values(by='总分',ascending=False,inplace=True)
df.to_excel("结果.xlsx",index=False)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表