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)