楼主: cainiaoyueyue
595 1

[问答] 已完成 [推广有奖]

  • 0关注
  • 0粉丝

初中生

85%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0017
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
203 点
帖子
8
精华
0
在线时间
13 小时
注册时间
2020-4-8
最后登录
2020-6-18

楼主
cainiaoyueyue 发表于 2020-4-16 02:22:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
已完成
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python Python编程 python运算

沙发
猜不透的青春 发表于 2020-4-16 10:59:55
简单思路:根据排序要求,生成一列新的rank,最后筛选rank=1的数据。(存在不清楚的,比如并列恰为第一的情况)贴代码:
  1. import pandas as pd
  2. # 生成数据
  3. df = pd.DataFrame({'name':['abcd_1','abcd_1','abcd_1','abcd_1','abcd_2','abcd_2','abcd_2','abcd_3','abcd_3','abcd_3','abcd_4','abcd_4'],
  4.                    'score_1':[41.39,32.34,32.34,32.34,45.56,60.56,32.53,58.59,60.65,58.59,34,32.56],
  5.                    'score_2':[1.00E-08,5.00E-08,5.00E-08,5.00E-08,5.00E-08,3.00E-08,5.00E-08,2.00E-08,1.00E-08,3.00E-08,2.00E-18,2.00E-11]}) # 生成数据,或者直接pd.read_excel获取
  6. def f(df):
  7.     df['rank'] = range(1, df.shape[0] + 1)
  8.     return df
  9. df = df.sort_values(by=['score_1', 'score_2'], ascending=(False, True)).groupby('name').apply(f) # 计算rank
  10. df[df['rank']==1].to_excel('new.xlsx‘) # 结果输出至新的excel
复制代码
配图: Snipaste_2020-04-16_10-59-37.png
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
cainiaoyueyue + 1 + 1 + 1 精彩帖子
fengxingliulizi + 5 + 4 精彩帖子

总评分: 论坛币 + 5  学术水平 + 1  热心指数 + 5  信用等级 + 1   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-17 10:58