Excel 处理技巧 - 数据计算(六)

1、简单的几列的运算

用途:对几列数据进行运算
格式:

yy = df['英语'].astype(int)
sf = df['数分'].astype(int)
df['总计'] = yy + sf
df.head()

Excel 处理技巧 - 数据计算(六)

如图测试数据,需求:
求:英语与数分两列每个人的总分。

代码如下:

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)

Excel 处理技巧 - 数据计算(六)

2、数据分组

用途:人事打卡判断是否早退;范围判断

语法:

pd.cut(series,bins,right=True,labels=NULL)

#series  表示需要分组的数据
#bins    表示分组的依据
#right   表示分组的时候右边是否闭合
#labels  表示分组的自定义标签,可以不自定义

Excel 处理技巧 - 数据计算(六)

如上图测试数据所示,需求:求每个人的成绩,属于 ["不及格","及格","良好","优秀"]哪一个范围。
代码如下:

    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())

结果如下:
Excel 处理技巧 - 数据计算(六)

注意:

bins 坑点:max(df.英语)+1 中要有一个大于前一个数(80),既 bins 中写的范围,其 max(df.英语)+1,该列数据最少有一个数要大于 bins 里面 max(df.英语)+1 前面的一个参数。