生成新列

生成一个新列是列操作里面常见的操作。前面我们已经把学生成绩表里面的数据导入到Power BI里面了,如下图所示。

Document Image

现在增加一个总分列,表示每个学生的成绩总分。使用pandas包来生成新列,可以直接将各同学的各门课程的成绩相加得到其总分,也可以使用DataFrame对象的apply方法计算总分。

单击“转换”菜单,在功能区的右侧可以找到一个“Py”按钮,如下图所示。

Document Image

单击“Py”按钮,打开“运行Python脚本”对话框,在对话框中输入下面的代码,直接将同学的各门功课的成绩相加得到总分。

code.python
dataset['总分']= dataset['语文']+dataset['数学']+dataset['英语']+dataset['政治']+dataset['历史']

如下图所示。

Document Image

单击“确定”按钮。结果如下图所示。结果返回一张表。

Document Image

单击“Table”,打开表中的数据如下图所示。可见,该表在原有数据表的右侧添加了一个“总分”列,该列数据为各同学的考试总分。

Document Image

在上图中删除最后两个操作步骤,在“运行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脚本”对话框如下所示。

Document Image

单击“确定”按钮,得到与前面相同的结果。