生成一个新列是列操作里面常见的操作。前面我们已经把学生成绩表里面的数据导入到Power BI里面了,如下图所示。
现在增加一个总分列,表示每个学生的成绩总分。使用pandas包来生成新列,可以直接将各同学的各门课程的成绩相加得到其总分,也可以使用DataFrame对象的apply方法计算总分。
单击“转换”菜单,在功能区的右侧可以找到一个“Py”按钮,如下图所示。
单击“Py”按钮,打开“运行Python脚本”对话框,在对话框中输入下面的代码,直接将同学的各门功课的成绩相加得到总分。
code.python
dataset['总分']= dataset['语文']+dataset['数学']+dataset['英语']+dataset['政治']+dataset['历史']
如下图所示。
单击“确定”按钮。结果如下图所示。结果返回一张表。
单击“Table”,打开表中的数据如下图所示。可见,该表在原有数据表的右侧添加了一个“总分”列,该列数据为各同学的考试总分。
在上图中删除最后两个操作步骤,在“运行Python脚本”对话框中修改Python脚本,使用DataFrame对象的apply方法计算总分。新的Python代码如下所示。
code.python
import numpy as np
dataset.set_index('姓名',inplace=True)
dataset['总分']=dataset.apply(np.sum,axis=1) #行求和,综述统计量
dataset.reset_index(inplace=True)
“运行Python脚本”对话框如下所示。
单击“确定”按钮,得到与前面相同的结果。