Excel 处理技巧 - 数据计算(六)
1、简单的几列的运算
用途:对几列数据进行运算
格式:
yy = df['英语'].astype(int)
sf = df['数分'].astype(int)
df['总计'] = yy + sf
df.head()
如图测试数据,需求:
求:英语与数分两列每个人的总分。
代码如下:
df = pd.read_excel(io='//mac/Home/Desktop/test/test.xlsx',sheet_name=4)
yy = df['英语'].astype(int)
sf = df['数分'].astype(int)
df['总计'] = yy + sf
df.head()
print(df)
2、数据分组
用途:人事打卡判断是否早退;范围判断
语法:
pd.cut(series,bins,right=True,labels=NULL)
#series 表示需要分组的数据
#bins 表示分组的依据
#right 表示分组的时候右边是否闭合
#labels 表示分组的自定义标签,可以不自定义
如上图测试数据所示,需求:求每个人的成绩,属于 ["不及格","及格","良好","优秀"]
哪一个范围。
代码如下:
df = pd.read_excel(io='//mac/Home/Desktop/test/test.xlsx',sheet_name=5)
bins = [min(df.英语)-1,60,70,80,max(df.英语)+1]
lab = ["不及格","及格","良好","优秀"]
demo = pd.cut(df.英语,bins,right=False,labels=lab)
df['结果'] = demo
df.head()
print(df.head())
结果如下:
注意:
bins 坑点:max(df.英语)+1 中要有一个大于前一个数(80)
,既 bins 中写的范围,其 max(df.英语)+1
,该列数据最少有一个数要大于 bins 里面 max(df.英语)+1
前面的一个参数。
这个必须点赞👍