python中lambda表达式详解,附机器学习数据集数据选择性输入,剔除多余数据

**

lambda匿名函数是是一个表达式,是指无需定义函数名的子程序,使用比函数简单

**
lambda表达式的格式为:lambda 参数:表达式

lambda  [arg [,arg1,.......]]:expression

1.lambda函数实例

#1.使用lambda函数实现3个数的乘法
mult =lambda x,y,z:x*y*z   #120
print(mult(4,5,6))

2…lambda在map和reduce中的应用

#1.map函数接收两个参数,第一个是函数或表达式,第二个是迭代参数

print(list(map(lambda x:x*x,range(1,10))))  # [1, 4, 9, 16, 25, 36, 49, 64, 81]

#2.reduce也接收两个参数,一个是函数,一个是变量

import functools

print(functools.reduce(lambda x,y:x+y,range(1,100)))   #从1加到99
#判断哪个数字大小
num=1,2,3,4,5,6,7,8,9
print(list(map(lambda num:3<num<8,num)))   #返回bool型 [False, False, False, True, True, True, True, False, False]
print(list(filter(lambda num:3<num<8,num)))   #返回数值

#过滤出100内的偶数
print(list(filter(lambda x:x%2==0,range(101))))

3.在机器学习中,往往要对数据集的选择性输入,过滤出不必要的数据

#使用lambda过滤出数据集中所需要的列
with open("C:/Users/Administrator/Desktop/xiaoliang.csv") as file:
    tt = csv.reader(file)   #读取CSV文件
    xx = next(tt)             #去除表头
    # for i in  tt:
    #     print(i)
    print(xx)
    print(next(tt))
    a = lambda tt:tt[0:3:2]
    print(a(xx))
    for j in tt:
        b = lambda jj:jj[0:3:2]
        print(b(j))

实际输出:

[‘年份’, ‘销量/年’, ‘单价’, ‘排名’] #不经过处理的数据
[‘2013’, ‘58000’, ‘100’, ‘1’]
[‘年份’, ‘单价’]
[‘2014’, ‘120’]
[‘2015’, ‘110’]
[‘2016’, ‘120’]
[‘2017’, ‘150’]

注:纸上得来终觉浅,绝知此事要躬行。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值