Clarence733 2021-12-08 19:30 采纳率: 85.7%
浏览 23
已结题

请问我使用pandas处理文本文件去除最高分最低分和排序的操作,这种排序的操作和去除操作为什么实现不了(pycharm)

import pandas as pd
fp=pd.read_csv('score2.txt')
f1=fp.drop(fp.columns[[0]],axis=1)
f1['person1'].sort_values()  
f1['person2'].sort_values()
f1['person3'].sort_values()
f1.drop(index=0)
f1.drop(index=9)_
y_T= pd.DataFrame(f1.values.T,columns=f1.index,index=f1.columns)
y_T.loc[:,'平均分']=y_T.sum(axis=1)/8
a=y_T.loc[:,'平均分'].max()
b=y_T['平均分'].idxmax()
print(a)
print(b)


![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/080299269836168.jpg "#left")
  • 写回答

2条回答 默认 最新

  • 陈年椰子 2021-12-08 22:40
    关注

    是这个问题吗?

    
     
    import pandas as pd
    data_str = '''person1 76 70 80 85 60 95 40 95 85 95 78.1
    person2 85 84 85 85 84 83 74 84 84 84 83.2
    person3 81 81 90 80 84 80 92 80 81 83 83.2'''
    def avg_score_func(x):
        score_list = [int(x[i]) for i in range(1,11)]
        score_list.sort()
        return sum(score_list[1:-1])/8
     
    data=[d.split(" ") for d in data_str.split("\n")]
    df1 = pd.DataFrame(data)
    df1['avg'] = df1.apply(lambda x: avg_score_func(x), axis=1)
    print(df1.head())
    print(df1[[0,'avg']].head())
    

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月27日
  • 已采纳回答 12月19日
  • 创建了问题 12月8日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分