栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 【问题描述】根据一组学生成绩,找出5个最高的总分。

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 【问题描述】根据一组学生成绩,找出5个最高的总分。

【问题描述】根据一组学生成绩,找出5个最高的总分。
【输入形式】csv文件
【输出形式】txt文件
【样例输入】


【样例输出】

直接使用二维数组的转置和.sum()函数对列的统计,再使用sorted函数对数组元素排序和切片再套娃写入文件,注意write是不允许写入列表等非字符串的数据类型吧,我并没有使用pandas的写入函数,只用了读取,用pandas 的写入应该也是可以的

import  pandas  as  pd

if  __name__  ==  '__main__':
	[[x.write(str(y)+'n') for y in sorted(pd.read_csv('scores.csv').T.sum().values,reverse=True)[0:5]] and x.close() for x in [open('summary.txt','w')]]

实验:不使用转置,使用pandas里面的函数方法进行统计排序和写入文件:写入只写入values的方法:
df.to_csv(r’path’, header=None, index=None, sep=’ ', mode=‘w’) -----#mode就是写入格式了,跟内置文件操作一样a表示附加,w表示清空原有的再写入

import  pandas  as  pd

if  __name__  ==  '__main__':
	pd.read_csv('scores.csv').apply(lambda x:sum(x),axis=1).sort_values(ascending=False)[0:5].to_csv('summary.txt' ,header=None, index=None, sep=' ', mode='w')
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/341314.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号