在数据分析的过程中,我们经常要新增列做辅助做计算之类的,pandas为我们提供了4种超级简单的的新增列的方法。
分别是直接赋值,利用apply函数,利用assign函数,以及分条件赋值。
直接赋值
这种方式是最简单的,也是最直观的,还是使用上次的数据。
现在的需求就是新增一列总分,值是语数英三门成绩的总和。
我们可以使用最简单的方式就是每列相加,也就是求出行的总和,也可以使用pandas内置的sum函数,但是需要注意的是sum(axis=0)默认的,意思就是为列的总和,而我们需要的是行的总和也就是sum(axis=1)。
这种新增会直接作用于原表。
apply
apply就是应用一个函数,好处就是更加的灵活,可以处理更复杂的要求,现在我们的需求很简单。
做出一个语数总分
来一个数学评价
这个也是直接作用于原表的。
assign
assign可以分配多个列,但是与其他新增方式不同的就是,他是直接返回一个新表,而不是在原数据上进行操作。
我们需求今年的语文英语太难了要增加一个1.2分的权重。
分条件赋值‘
这个简单来说实际上是直接赋值的变体,只是增加了条件分支,也是非常的简单。
下面是我们的需求,对英语达标的人进行一个录取。
总结
这4种当时都非常的简单,而且其实大差不差,比较推荐的还是apply自己写个函数去进行计算整合之类的都挺好的。