加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

不能错过!你必须知道的3种重要Python技能

发布时间:2019-11-13 19:55:54 所属栏目:建站 来源:读芯术
导读:【线上直播】11月21日晚8点贝壳技能总监侯圣文《数据安详之数据库安详黄金法例》 进修Pandas是很棒的体验,进修Numpy也很风趣。可是,你是否过早地开始行使措施库了呢?这大概是由于你还没故意识到pure python的魅力。 假如是这样的话,那么这篇文章会对你很
副问题[/!--empirenews.page--] 【线上直播】11月21日晚8点贝壳技能总监侯圣文《数据安详之数据库安详黄金法例》

 进修Pandas是很棒的体验,进修Numpy也很风趣。可是,你是否过早地开始行使措施库了呢?这大概是由于你还没故意识到pure python的魅力。

不能错过!你必需知道的3种重要Python手艺

假如是这样的话,那么这篇文章会对你很有辅佐。

本文将先容几个很是风趣的pure python成果,这些成果是在一般数据科学事变中异常常用的。在整个数据筹备阶段都都可以大量地行使它们(大量用于数据整理),乃至在绘制之前也可以行使它们来聚合数据。

但愿你也可以将这些能力运用到项目中。尽量没有运行时的速率或机能上风,可是与从零开始实验此逻辑对比,这将为你节减大量时刻。因此,言归正传,让我们来看第一点吧!

1、拉姆达函数(Lambda Functions)

拉姆达函数很是强盛。虽然,当必需以沟通的方法整理多个列时,我们不会行使它,但这并不是常常碰着的环境。凡是环境下,每个属性在整理后都必要本身的逻辑。

Lambda函数应承建设“匿名”函数。这根基上意味着可以快速天生特定函数,而无需行使pythonsdef来正确界说函数。

尽量云云,请记着Lambda函数首要被计划成one-liners,因此它应该用于简朴的对象。对付更伟大的逻辑,则必要行使通例函数。

里将展示两个详细示例,通过这些示例,我们无需为全部项目界说函数,从而可以节减许少时刻。固然第一个示例也许不会在实际中常用,但值得一提。这就是对数字求平方。

  1. #regular function 
  2. def square_number(x): 
  3.     res = x ** 2 
  4.     return res# lambda function 
  5. square = lambda x: x ** 2# results 
  6. print('square_number(4): {}'.format(square_number(4))) 
  7. print('square lambda: {}'.format(square(4)))>>> square_number(4):16 
  8. >>> square lambda: 16 

上面的代码片断以通例方法和lambda函数的方法完成了沟通逻辑的实现。固然功效是一样的,可是lambda的单行看起来惬意多了!

第二个例子是关于搜查数字是偶数或非偶数:

  1. #regular function 
  2. def is_even(x): 
  3.     if x % 2 == 0: 
  4.         return True 
  5.     else: 
  6.         return False 
  7.   
  8.   
  9. # lambda function 
  10. even = lambda x: x % 2 == 0# results 
  11. print('is_even(4): {}'.format(is_even(4))) 
  12. print('is_even(3): {}'.format(is_even(3))) 
  13. print('even(4): {}'.format(even(4))) 
  14. print('even(3): {}'.format(even(3)))>>> is_even(4): True 
  15. >>> is_even(3): False 
  16. >>> even(4): True 
  17. >>> even(3): False 

再一次,同样的逻辑以两种方法实现。你来抉择你喜好哪一个吧。

2、列表理会(List Comprehensions)

简朴来说,列表理会使我们可以行使其他标记建设列表。可以将其视为括号内的单行轮回。

在做特性工程时,行使列表理会很利便。譬喻,假设我们在通过说明电子邮件问题来举办垃圾邮件检测,那么我们会想弄大白是否问号会在垃圾邮件中常常呈现。假如用列表理会来实现的话,这将是一项很是简朴的使命。

就不再举办更多的理论表明白。例子步崆最重要的。

这里的例子选择声明一个通例函数,该函数将搜查列表中以某个字符(在这种环境下为“ a”)开头的项目。实验后,再用列表理会执行沟通的操纵。猜猜哪个会写起来更快呢?

  1. lst =['Acer', 'Asus', 'Lenovo', 'HP']# regular function 
  2. def starts_with_a(lst): 
  3.     valids = [] 
  4.   
  5.     for word in lst: 
  6.         if word[0].lower() == 'a': 
  7.             valids.append(word) 
  8.   
  9.     return valids 
  10.   
  11.   
  12. # list comprehension 
  13. lst_comp = [word for word in lst if word[0].lower() == 'a']# results 
  14. print('starts_with_a: {}'.format(starts_with_a(lst))) 
  15. print('list_comprehension: {}'.format(lst_comp))>>> starts_with_a:['Acer', 'Asus'] 
  16. >>> list_comprehension: ['Acer', 'Asus'] 

假如是第一次看到这样的方法,语法也许会有点紊乱。可是当你天天都在写这样的函数时,它们会越来越吸引你,看你能把几多伟大的对象应用进去。

3、Zip函数

这是在实践中很少看到的内置python要领之一。从数据科学家的角度来看,它使我们可以或许同时迭代两个或多个列表。在处理赏罚日期和时刻时,这可以派上用场。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读