pandas学习-----apply函数的应用

这篇博客介绍了Pandas库中apply函数的使用方法。首先展示了如何使用apply函数在DataFrame的姓名列上添加前缀'xm'。接着,通过应用条件函数将语文成绩低于90分的记录统一改为90分。最后,利用groupby和apply函数计算每个班级的语文成绩最高分。例子清晰地展示了Pandas在数据处理和分组操作上的灵活性。
摘要由CSDN通过智能技术生成

pandas学习-----apply函数的应用

import pandas as pd

df =pd.DataFrame(data={'学号':['x1','x2','x3','x4','x5'],
                       '班级':['1班','1班','1班','2班','2班'],
                       '姓名':['张三','李四','王五','韩六','赵七'],
                       '性别':['男','男','男','女','女'],
                       '身高':[177,151,167,175,153],
                       '语文成绩':[92,84,80,77,87],
                       '学分':[1.5,2.3,3.2,1.2,1.8],
                       '日期':['2019/3/23','2019/3/24','2019/3/25','2019/3/26','2019/3/27']})
#对姓名这一列的每个元素都添加字幕'xm'
def myfunc(x):
    return 'xm'+x
df['姓名']=df['姓名'].apply(myfunc)
print(df)

#成绩这一列中,如果有小于90分的,这改成90分
def myfunc(x):
    if x<90:
        return 90
    else:
        return x
df['语文成绩'] = df['语文成绩'].apply(myfunc)
print(df)

#分组应用apply
#注意myfunc接收的参数类型
def myfunc(series):
    return series.max()

#计算每个班级语文成绩的最高分
df.groupby(by=['班级'],as_index=False)['语文成绩'].apply(myfunc)
print(df)

输出的结果为

 学号  班级    姓名 性别   身高  语文成绩   学分         日期
0  x1  1班  xm张三  男  177    92  1.5  2019/3/23
1  x2  1班  xm李四  男  151    84  2.3  2019/3/24
2  x3  1班  xm王五  男  167    80  3.2  2019/3/25
3  x4  2班  xm韩六  女  175    77  1.2  2019/3/26
4  x5  2班  xm赵七  女  153    87  1.8  2019/3/27
   学号  班级    姓名 性别   身高  语文成绩   学分         日期
0  x1  1班  xm张三  男  177    92  1.5  2019/3/23
1  x2  1班  xm李四  男  151    90  2.3  2019/3/24
2  x3  1班  xm王五  男  167    90  3.2  2019/3/25
3  x4  2班  xm韩六  女  175    90  1.2  2019/3/26
4  x5  2班  xm赵七  女  153    90  1.8  2019/3/27
   学号  班级    姓名 性别   身高  语文成绩   学分         日期
0  x1  1班  xm张三  男  177    92  1.5  2019/3/23
1  x2  1班  xm李四  男  151    90  2.3  2019/3/24
2  x3  1班  xm王五  男  167    90  3.2  2019/3/25
3  x4  2班  xm韩六  女  175    90  1.2  2019/3/26
4  x5  2班  xm赵七  女  153    90  1.8  2019/3/27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

self.键盘上的钢琴师.LX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值