成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

不能錯過!你必須知道的3種重要Python技能

開發 后端
學習Pandas是很棒的體驗,學習Numpy也很有趣。但是,你是否過早地開始使用程序庫了呢?這也許是因為你還沒有意識到pure python的魅力。

 學習Pandas是很棒的體驗,學習Numpy也很有趣。但是,你是否過早地開始使用程序庫了呢?這也許是因為你還沒有意識到pure python的魅力。

[[282059]]

如果是這樣的話,那么這篇文章會對你很有幫助。

本文將介紹幾個非常有趣的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)

簡單來說,列表解析使我們可以使用其他符號創建列表??梢詫⑵湟暈槔ㄌ杻鹊膯涡醒h。

在做特征工程時,使用列表解析很方便。例如,假設我們在通過分析電子郵件標題來進行垃圾郵件檢測,那么我們會想弄明白是否問號會在垃圾郵件中經常出現。如果用列表解析來實現的話,這將是一項非常簡單的任務。

就不再進行更多的理論解釋了。例子才是最重要的。

這里的例子選擇聲明一個常規函數,該函數將檢查列表中以某個字符(在這種情況下為“ 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方法之一。從數據科學家的角度來看,它使我們能夠同時迭代兩個或多個列表。在處理日期和時間時,這可以派上用場。

例如,有一個屬性表示某個事件的開始時間,而第二個屬性表示該事件的結束時間時,為了進一步分析,幾乎總是需要計算它們之間的時間差。而到目前為止,zip函數是最簡單的方法。

例如,來比較一些虛構公司和虛構地區的一周銷售日期:

  1. sales_north= [350, 287, 550, 891, 241, 653, 882] 
  2. sales_south = [551, 254, 901, 776, 105, 502, 976]for s1, s2 in zip(sales_north,sales_south): 
  3.     print(s1 — s2)>>> -201 
  4.     33 
  5.     -351 
  6.     115 
  7.     136 
  8.     151 
  9.     -94 

看看這有多么簡單吧??梢詰孟嗤倪壿嬐瑫r迭代3個數組,只需要在括號中添加“ s3”和其他一些列表名稱即可。

結語

Pure Python真的非常強大。了解其功能后,就不再需要專門的庫來存放所有內容了。這將幫助你成為一名更好的程序員。

練習這些技能、掌握它們,并將其應用到日常工作中。無論是僅僅為了娛樂、完成學業還是工作,你都不會后悔的。

責任編輯:華軒 來源: 讀芯術
相關推薦

2023-06-02 15:55:42

JavaScrip開發

2010-05-04 08:58:02

.NET

2020-02-28 14:05:00

Linuxshell命令

2017-12-07 15:47:25

2012-09-29 09:22:24

.NETGC內存分配

2012-09-29 10:29:56

.Net內存分配繼承

2017-12-07 15:28:36

2021-10-29 08:44:22

推拉機制面試broker

2019-01-08 10:29:12

BeautifulSoPython第三庫

2015-06-29 09:40:10

Rails新特性

2011-11-30 09:09:13

王濤Windows Pho移動開發

2017-10-11 15:50:18

光纖通信傳輸

2021-09-15 09:20:37

Python函數代碼

2015-07-23 10:37:13

Linux命令

2021-03-01 07:34:42

Java泛型ArrayList

2024-03-29 13:17:03

Docker數據卷Volume

2021-03-25 14:34:35

Python數據分析工具

2011-05-11 15:28:05

2012-11-05 09:19:37

2019-05-30 08:25:50

5G4G網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线一区视频 | 国产黄色av网站 | 91精品久久久久久久久久 | 最新中文字幕久久 | 国内自拍视频在线观看 | av在线免费观看网址 | 日韩电影中文字幕 | 伦理午夜电影免费观看 | 成人精品国产 | 久久久人成影片一区二区三区 | 99精品免费| 特黄特色大片免费视频观看 | 天天操天天干天天爽 | 久久精品一区二区三区四区 | 激情黄色在线观看 | 一区二区手机在线 | 日日夜夜天天 | 久久99精品久久久 | 欧美国产日韩一区二区三区 | 福利色导航 | 亚洲 欧美 日韩在线 | 国产三级大片 | 欧美一级大片免费看 | 国产激情片在线观看 | 第一区在线观看免费国语入口 | 天天噜天天干 | 久久久久久成人 | 男女羞羞视频免费 | 九九精品网 | 日韩视频精品 | 欧美一区二区三区四区视频 | 精品91视频 | 精品一二区 | 国产精品一码二码三码在线 | 欧美mv日韩mv国产网站91进入 | 在线观看中文字幕 | 久久色视频 | 国产精品污www一区二区三区 | 精品视频一区二区三区 | 精品亚洲一区二区 | 国产一区二区不卡 |