1054127694 发表于 2021-6-15 19:14:01

如何用dataframe然后找出最重的人并将其姓名输出到 Python Shell 窗口

读取 data.csv 文件中的学生信息,然后找出最重的同学并将其姓名输出到 Python Shell 窗口。
可能存在多人体重相同的情况
姓名,性别,专业,身高(cm),体重(kg)
张德,男,国际经济与贸易,169,67
赵雨,女,国际经济与贸易,157,49
周远航,男,经济学,166,71
胡凯,男,国际经济与贸易,170,75
孙思思,女,国际经济与贸易,150,42
钱行,男,计算机科学与技术,163,56
吴齐,女,国际经济与贸易,173,51
刘芝,女,经济学,164,55
郑良,男,计算机科学与技术,163,60
蔡玲,女,经济学,165,57
黄珊珊,女,经济学,170,50
范童书,男,计算机科学与技术,180,75
胡甜娜,女,计算机科学与技术,155,45
董佳佳,女,国际经济与贸易,157,47
解晨娜,女,计算机科学与技术,172,50
梁明明,男,计算机科学与技术,178,75
谢牧,男,经济学,172,73
杨海,男,经济学,168,78
方燕,女,经济学,160,50

我用了五种代码只有最后一种可以把体重相同的人全输出但是PTA平台的作业还是不能通过 不知道哪里错了
import pandas
df=pandas.read_csv("data.csv")
df=df[['体重(kg)','姓名']]
df=df.sort_values(by=['体重(kg)'])
df=df.tail(1)
df=df["姓名"].values
print(",".join(df))

import pandas
df=pandas.read_csv("data.csv")
df=df.set_index("体重(kg)")
df=df.sort_index()
df=df.tail(1)
df=df["姓名"].values
print(",".join(df))

import pandas
df=pandas.read_csv("data.csv")
df=df.sort_values(by=['体重(kg)'])
df=df[['姓名']]
df=df.tail(1)
df=df["姓名"].values
print(",".join(df))

import pandas
df=pandas.read_csv("data.csv")
df_1=df["体重(kg)"].idxmax()
df=df.loc
df=df[['姓名']].values
print(",".join(df))

import pandas
df=pandas.read_csv("data.csv")
df_1=df.loc[:,"体重(kg)"].max()
df=df.isin()]
df=df['姓名'].values
print(",".join(df))

Twilight6 发表于 2021-6-15 19:30:43



平台期望输出的结果是什么样的?

1054127694 发表于 2021-6-15 19:53:54

Twilight6 发表于 2021-6-15 19:30
平台期望输出的结果是什么样的?

杨海跟我输出的一样 但是也不知道哪里错了 都是部分正确 最后一种是有相同体重的都能输出的了

Twilight6 发表于 2021-6-15 19:57:22

1054127694 发表于 2021-6-15 19:53
杨海跟我输出的一样 但是也不知道哪里错了 都是部分正确 最后一种是有相同体重的都能输出的了



期望输出的结果说不定是用空格?平台检测预期字符都要一模一样的,试试:

import pandas
df=pandas.read_csv("data.csv")
df_1=df.loc[:,"体重(kg)"].max()
df=df.isin()]
df=df['姓名'].values
print(" ".join(df))

或者:

import pandas
df=pandas.read_csv("data.csv")
df_1=df.loc[:,"体重(kg)"].max()
df=df.isin()]
df=df['姓名'].values
print(*df)

1054127694 发表于 2021-6-15 20:05:34

Twilight6 发表于 2021-6-15 19:57
期望输出的结果说不定是用空格?平台检测预期字符都要一模一样的,试试:




感谢 不过还是不行

Twilight6 发表于 2021-6-15 20:09:30

1054127694 发表于 2021-6-15 20:05
感谢 不过还是不行



能发下完整的题目吗?

1054127694 发表于 2021-6-15 20:12:54

Twilight6 发表于 2021-6-15 20:09
能发下完整的题目吗?

发不了图片
9-2 寻找最重的同学 (10 分)
下载题目压缩包,编辑 src/ 目录下的 test.py 文件,读取 data.csv 文件中的学生信息,然后找出最重的同学并将其姓名输出到 Python Shell 窗口。
说明:

(1)可能存在多人体重相同的情况

(2)程序文件名 test.py 不能修改

(3)本地编写测试完成后,将 src 文件夹打包为 src.zip 文件后上传提交,如果使用 WinRAR、7z 等压缩软件,请注意压缩文件的格式为 zip,而不是压缩为其他格式后修改后缀为 zip

输出结果如下:

杨海

作者
林永兴
单位
浙江理工大学科技与艺术学院
内存限制
64 MB
CPU核数限制
1
下载题目压缩包
题目文件夹
src/
(提交文件夹)
main.sh
(入口文件)
请在提交文件夹src中完成作答后将此文件夹压缩为zip格式上传。

上传文件

1054127694 发表于 2021-6-15 20:15:12

Twilight6 发表于 2021-6-15 20:09
能发下完整的题目吗?

pintia.cn
账号1054127694@qq.com
密码laoye321
大哥要不直接登录看看吧

Twilight6 发表于 2021-6-15 20:16:52

1054127694 发表于 2021-6-15 20:15
pintia.cn
账号
密码laoye321



噗,原来原题就是这几个字...

登入不会异地冻结吧?我试试看

1054127694 发表于 2021-6-15 20:17:26

Twilight6 发表于 2021-6-15 20:16
噗,原来原题就是这几个字...

登入不会异地冻结吧?我试试看

不会

Twilight6 发表于 2021-6-15 20:30:48

1054127694 发表于 2021-6-15 20:17
不会


确实搞不明白,题目出的有点水,测试结果也很水。。。

你再试试for 循环打印?

import pandas
df=pandas.read_csv("data.csv")
df_1=df.loc[:,"体重(kg)"].max()
df=df.isin()]
df=df['姓名'].values
for i in df:
    print(i)

1054127694 发表于 2021-6-15 20:53:59

Twilight6 发表于 2021-6-15 20:30
确实搞不明白,题目出的有点水,测试结果也很水。。。

你再试试for 循环打印?

哇可以了 牛逼 谢谢大佬

Twilight6 发表于 2021-6-15 21:17:33

1054127694 发表于 2021-6-15 20:53
哇可以了 牛逼 谢谢大佬



噗哈哈,我就说感觉代码没毛病,就是测试数据太少,平台出题人真不严谨

页: [1]
查看完整版本: 如何用dataframe然后找出最重的人并将其姓名输出到 Python Shell 窗口