pandas将datafram中某列按照条件赋值方法,求每行最大值、均值、和方法

3 篇文章 0 订阅
3 篇文章 0 订阅

1、批量修改datafram中某一列

在数据处理过程中,经常会出现对某列批量做某些操作,比如dataframe df要对列名为“values”做大于等于30设置为1,小于30设置为0操作,可以这样使用dataframe的apply函数来实现,具体实现代码如下:

def fun(x):
    if x >= 30:
        return 1
    else:
        return 0

values= feature['values'].apply(lambda x: fun(x))
#若需要将改动赋值给原始的feature的列中的话,可以进行一次赋值
feature['values']=values
#或者直接一次修改后赋值。
feature['values']= feature['values'].apply(lambda x: fun(x))

具体的逻辑可以修改fun函数来实现,但是按照某些条件选择列不是这种实现方法,如有需求,请自己百度。

2、求datafram一行中的最大值、最小值、均值、求和等操作实现

在一些数据处理中,需要求一行中数值型列的最大值,最小值,均值等操作,可以如下实现:

#如果需要对多列操作,比如原始df格式是sid,math,Chinese,PE,表示一个学生的分数,比如求最高分,平均分,总分等操作
#由于一行中sid是学号,我们不需要选择该列求最大值,最小值,故在求最值前筛选出需要求最值的所有列
#原始数据:1,88,89,87
#         2,90,98,94
#         3,89,89,90
feature["max"]=feature[["math","Chinese","PE"]].max(axis=1)
feature["mean"]=feature[["math","Chinese","PE"]].mean(axis=1)
feature["sum"]=feature[["math","Chinese","PE"]].sum(axis=1)

 

  • 11
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值