码迷,mamicode.com
首页 > 其他好文 > 详细

第二章数据分析简介

时间:2017-10-23 18:21:32      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:col   求和   简介   结束   ict   lam   循环   filter   color   

lambda:

  • lambda是一个表达式,也可以说是一个匿名函数。
  • lambda [ arg1 [arg2, arg3, … argN] ] : expression,lambda右侧的表达式冒号左边为参数值,右边为计算表达式。例如:对两个数进行求和。
p = lambda x, y: x + y

2.创建字典的三种方法:

  • d = {‘today‘: 20, ‘tomorrow‘: 30}
  • dict([[‘today‘, 20], [‘tomorrow‘, 30]])
  • dict.fromkeys([‘today‘, ‘tomorrow‘], 20, 30)

3.集合:

  • s = {1, 2, 2, 3}    # 注意2会自动去重,得到{1, 2, 3}
  • s = set([1, 2, 2, 3])  # 得到{1, 2, 3}

4.集合的一些运算:

  • a = t | s  # t和s的并集
  • b = t & s   # t和s的交集
  • c = t - s  # 求差集(在t中不再s中)
  • d = t ^ s  # 对称差集(在t或s中,但不会同时在两者中)

5.map():(1)列表a = [1, 2, 3],给列表每个元素加2得到b。

a = [1, 2, 3]

b = map(lambda x: x+2, a)

b = list(b)

 在3.x需要b = list(b)这一步,因为map函数仅仅是创建一个待运行的命令容器,只有其他函数调用它的时候才会返回结果。

(2)map()接受多参数:map(lambda x, y: x*y ,a, b)表示将a, b两个列表元素对应相乘。

6.reduce():

reduce()有点像map(),但map()函数用于逐一遍历,reduce()函数用于递归计算。

reduce(lambda x, y: x*y, range(1, n+1))

 reduce命令首先将列表的前两个元素作为函数的参数进行运算,然后将运算结果与第三个数字作为函数的参数,然后将运算结果与第四个数字作为函数的参数......依次类推,直到列表结束。用循环命令即为:

s = 1
for i in range(1, n+1):
    s = s * i

 

 在2.x中,上述函数可直接使用,在3.x中,reduce()函数置于fuctools库中,通过

from fuctools import reduce

7.filter():

filter()是一个过滤器,用来筛选列表中符合条件的元素,例如:

b = filter(lambda x: x > 5 and x < 8, range(10))
b = list(b)            # 结果为[6, 7],在3.x中需要这一步,2.x不需要

 

第二章数据分析简介

标签:col   求和   简介   结束   ict   lam   循环   filter   color   

原文地址:http://www.cnblogs.com/keye/p/7717577.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!