不能错过!你必要知道的3种主要Python技术

2019-11-12 18:50| 发布者: 汇众注册平台| 查看: |

【线上直播】11月21日晚8点贝壳技巧总监侯圣文《数据安全之数据库安全黄金法则》

学习Pandas是很棒的体会,学习Numpy也很有趣。但是,你是否过早地开端利用程序库了呢?这也许是由于你还没有意识到pure python的魅力。

不能错过!你必需知道的3种首要Python技巧

要是是这么的话,那么这篇文章会对你很有帮忙。

本文将引见几个异常有趣的pure python功能,这些功能是在日常数据科学工作中非常常用的。在整体数据预备阶段都都可以大量地利用它们(大量用于数据清算),甚至在绘制之前也可以利用它们来聚合数据。

指望你也可以将这些技能应用到项目中。纵然没有运行时的速度或性能优势,但是与从零开端履行此逻辑相比,这将为你节俭大量空儿。因而,言归正传,让咱们来看第一点吧!

1、拉姆达函数(Lambda Functions)

拉姆达函数异常强大。自然,当必要以雷同的措施清算多个列时,咱们不会利用它,但这并不是时常遇到的状况。通常状况下,每个属性在清算后都须要亲自的逻辑。

Lambda函数准许创建“匿名”函数。这基本上意味着可以快速生成特定函数,而无需利用pythonsdef来准肯定义函数。

纵然如此,请记住Lambda函数首要被设计成one-liners,因而它应该用于简单的东西。对于更复杂的逻辑,则须要利用通例函数。

里将揭示两个具体示例,经过这些示例,咱们无需为一切项目定义函数,从而可以节俭许少空儿。虽然第一个示例可能不会在现实中常用,但值得一提。这就是对数字求平方。

#regular function 

def square_number(x): 

    res = x ** 2 

    return res# lambda function 

square = lambda x: x ** 2# results 

print('square_number(4): {}'.format(square_number(4))) 

print('square lambda: {}'.format(square(4)))>>> square_number(4):16 

>>> square lambda: 16 

上面的代码片断以通例措施和lambda函数的措施完结了雷同逻辑的实现。虽然成果是一致的,但是lambda的单行看起来舒畅多了!

第二个例子是关于反省数字是偶数或非偶数:

#regular function 

def is_even(x): 

    if x % 2 == 0: 

        return True 

    else

        return False 

  

  

# lambda function 

even = lambda x: x % 2 == 0# results 

print('is_even(4): {}'.format(is_even(4))) 

print('is_even(3): {}'.format(is_even(3))) 

print('even(4): {}'.format(even(4))) 

print('even(3): {}'.format(even(3)))>>> is_even(4): True 

>>> is_even(3): False 

>>> even(4): True 

>>> even(3): False 

再一次,同样的逻辑以两种措施实现。你来决议你厌恶哪一个吧。

2、列表解析(List Comprehensions)

简单来说,列表解析使咱们可以利用其余符号创建列表。可以将其视为括号内的单行循环。

在做特性工程时,利用列表解析很方便。比如,假设咱们在经过度析电子邮件标题来进行垃圾邮件检测,那么咱们会想弄迷惑是否问号会在垃圾邮件中时常消逝。要是用列表解析来实现的话,这将是一项异常简单的任意。

就不再进行更多的理论阐明了。例子才是最主要的。

这里的例子抉择申明一个通例函数,该函数将反省列表中以某个字符(在这种状况下为“ a”)起头的项目。履行后,再用列表解析实行雷同的操作。猜猜哪个会写起来更快呢?

本报谈论:

lst =['Acer''Asus''Lenovo''HP']# regular function 

def starts_with_a(lst): 

    valids = [] 

  

    for word in lst: 

        if word[0].lower() == 'a'

            valids.append(word) 

  

    return valids 

  

  

# list comprehension 

lst_comp = [word for word in lst if word[0].lower() == 'a']# results 

print('starts_with_a: {}'.format(starts_with_a(lst))) 

print('list_comprehension: {}'.format(lst_comp))>>> starts_with_a:['Acer''Asus'

>>> list_comprehension: ['Acer''Asus'

要是是第一次看到这么的措施,语法可能会有点混乱。但是当你每天都在写这么的函数时,它们会越来越吸引你,看你能把多少复杂的东西运用退去。

3、Zip函数

这是在实践中很少看到的内置python方法之一。从数据科学家的角度来看,它使咱们能够同时迭代两个或多个列表。在处理日期和空儿时,这可以派上用处。

比如,有一个属性表明某个事变的开端空儿,而第二个属性表明该事变的收场空儿时,,为了进一步分析,几乎老是须要计算它们之间的空儿差。而到当前为止,zip函数是最简单的方法。

比如,来较为一点儿虚构公司和虚构地带的一周销售日期:

sales_north= [350, 287, 550, 891, 241, 653, 882] 

sales_south = [551, 254, 901, 776, 105, 502, 976]for s1, s2 in zip(sales_north,sales_south): 

    print(s1 — s2)>>> -201 

    33 

    -351 

    115 

    136 

    151 

    -94 

看看这有多么简单吧。可以运用雷同的逻辑同时迭代3个数组,只须要在括号中添加“ s3”和其余一点儿列表名称即可。

结语

Pure Python真的异常强大。理解其功能后,就不再须要专门的库来寄放一切内容了。这将帮忙你成为一名更好的程序员。

练习这些技术、操纵它们,并将其运用到日常工作中。不论是仅仅为了娱乐、完结学业还是工作,你都不会后悔的。

【编纂推荐】

分外推荐!优化​Python开垦环境的几个技能,实现主动化让你远离烦闷

Python 取代了 Excel 在银行业务中的位子?

Python循环12种超强写法,又快又省内存

Python机器学习中七种丧失函数的科学指南

<
>
汇众平台拥有强大的财团支持,信誉与资金有保障!本站为您提供汇众注册、汇众登录、汇众手机APP客户端下载等。欢迎您的加入,24小时客服在线服务!目前旗下有汇众平台有限公司、汇众平台科技有限公司、汇众平台设备有限公司;致力于建成产品丰富的娱乐业航母!

联系我们

(服务时间:9:00-18:00)

4837899@qq.com

在线咨询 官方微信官方微信

部门热线

前   台:
业务部:
客服部:
技术部:
人事部:

网站建设 微信开发 售后服务 咨询电话 返回顶部
返回顶部