python读取mtcars数据集并实现以下操作_Python学习笔记(3):数据集操作-列的统一操作...

但是,如果只能通过逐行循环来处理,就和以前的程序没啥区别了。我设定了一个小目标:合计一下第8列(金额),看Python能否有所不同。

尝试1:用map取出第8列,再用reduce合并。

3236-20161115210304638-2084870703.png

其中需要注意,reduce中,前一次的结果将作为参数参与下一次的计算,但到底是第几个参数,写了一个代码试验了一下,应该是第一个:

python读取mtcars数据集并实现以下操作_Python学习笔记(3):数据集操作-列的统一操作..._第1张图片

尝试2:不用map,直接用reduce,关键是第一个参数是元组,但后面的又都是数值,只能考虑在前面附加一个数值。但rs无法附加,所以只能对转换的列表操作。

3236-20161115210305717-913898925.png

也能成功,但总是不满意,转换为列表也有一定的耗费,最好能在游标的基础上来处理。

尝试3:对参数进行判断,如果是初始状态(元组类型),则用分量操作,否则,直接操作。

3236-20161115210306935-208513477.png

python的分支判断取值,有两种方式:

条件 and 真的取值 or 假的取值

真的取值 if 条件 else 假的取值

但第一种在真的取值为“假”时会错误,所以使用第二种。

第三种方法,以元组作为reduce的参数,传递进入后,通过类型判断解决第一次类型问题,还能再进一步扩展。

你可能感兴趣的:(python读取mtcars数据集并实现以下操作_Python学习笔记(3):数据集操作-列的统一操作...)