<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
      此為臨時鏈接,僅用于文章預覽,將在時失效
      人工智能開發者 正文
      發私信給AI研習社-譯站
      發送

      0

      用在數據科學上的 Python:你可能忘記的 8 個概念

      本文作者: AI研習社-譯站 2018-07-23 09:36
      導語:如果不能有效的管理和整合,過度依賴網上的資源會阻擋我們長期進步。

      雷鋒網 AI 研習社按:本文為雷鋒網字幕組編譯的技術博客,原標題 Python for Data Science: 8 Concepts You May Have Forgotten,作者為 Conor Dewey。

      翻譯 | 龐有振、黃中杰       整理 |  孔令雙  

      用在數據科學上的 Python:你可能忘記的 8 個概念

      問題

      如果你在編程的時候發現自己一遍又一遍的搜索同一個問題、概念或者語法,那么你并不孤單。

      我自己也經常這樣。

      雖然在 StackOverflow 和其他資源網站搜索很正常,但是它對你的好處比較小,并且會增加你理解這門語言的困難。

      我們生活在看起來有無限信息和無窮免費資源的時代,似乎搜索一下就把問題解決了。然而,這可能既是祝福也是詛咒。如果不能有效的管理和整合,過度依賴這些資源會阻擋我們長期進步。

      用在數據科學上的 Python:你可能忘記的 8 個概念

      來源:xkcd

      我發現自己有幾次從論壇上復制代碼并修改,而不是花時間去學習和鞏固我下次可能遇見的知識點。

      這個方法比較懶。雖然這個方法可能是短期阻力比較小的一個,但是這最終會傷害你的成長、效率和回想語法的能力。

      目標

      最近我在 Udemy 通過了一個名為「數據科學和機器學習中的 Python」的在線課程。通過這一系列的課程,我整理了一些我在 Python 數據分析中所忽視的語法和概念。 

      為了鞏固我對這些理念的理解和便于你們在 StackOverFlow 進行搜索,這里我整理出了我在使用 Python,Numpy,Pandas 中的一些知識點。

      對于每一個知識點我都給出了簡短的描述和例子。另外,我也給出了視頻和其他的資料的鏈接,這些有助于加深這些知識點的理解。

      列表推導式 

      在寫循環的時候,每次定義一堆的列表是相當無聊的。幸運的是,Python 內置了一種名為列表推導式的方法,這種方法僅僅使用一行代碼就可以解決這個問題。列表推導式剛開始對你來說可能有些困難,但是你一旦熟悉,你就會經常使用。

      用在數據科學上的 Python:你可能忘記的 8 個概念

      來源: Trey Hunner

      下面的第一個例子是求每一個元素平方的的普通寫法,第二個是列表推導式的寫法。

      x = [1,2,3,4]

      out = []

      for item in x:

         out.append(item**2)

      print(out)[1, 4, 9, 16]

      # vs.

      x = [1,2,3,4]

      out = [item**2 for item in x]

      print(out)[1, 4, 9, 16]

      Lambda 函數

      有些函數只需要用幾次就需要定義一個新函數,你是否對此厭煩呢?lambda 函數可以解決這個問題!Lambda 函數在 Python 中通常被用來構建應用次數比較少的的匿名函數。也就是讓你構建一個了不帶名字的函數。

      Lambda 函數的基本語法如下:

      lambda arguments: expression

      普通函數能做的,Lambda 函數也都能做,只要它們能夠寫成一行。下面這個簡單的例子和視頻能夠更好的讓你理解 Lambda 函數的強大之處。

      double = lambda x: x * 2

      print(double(5))

      10

      Map 函數與 Filter 函數

      當你掌握了 Lambda 函數,然后將 Lambda 函數和 map,filter 函數一起使用,你會發現威力巨大。 具體的說,map 函數通過對列表中的每一個元素進行操作,將列表轉換成一個新的列表。在下面的這個例子中,map 函數將每一個元素乘以 2,變成一個新的元素。注意這里的 list 函數只是簡單的將輸出結果轉化為 list 類型。

      # Map

      seq = [1, 2, 3, 4, 5]

      result = list(map(lambda var: var*2, seq))

      print(result)[2, 4, 6, 8, 10]

      Filter 函數類似于 map 函數,但是 filter 函數通過比較每一個元素是否為真從原始列表中抽取子集。

      # Filter

      seq = [1, 2, 3, 4, 5]

      result = list(filter(lambda x: x > 2, seq))

      print(result)[3, 4, 5]

      Python: Lambda, Map, Filter, Reduce Functions :

      https://youtu.be/cKlnR-CB3tk

      Arange 函數 和 Linspace 函數 

      快速創建簡單的 NumPy 數組,使用 arange 和 linspace 函數最合適不過了。 它們都有各自特定的功能,但在這里使用(不是使用范圍)在于其產生的 NumPy 數組,對于數據科學通常更容易操作。 

      Arange 函數,根據 start 和 stop 指定的范圍以及 step 設定的步長,生成指定間隔的均勻間隔序列。除了開始值 start 和結束值 stop,還可以根據需要定義步長 step 或數據類型。這里需要注意,結束值是一個「截止」值,所以不會包含在生成的數組中。

      # np.arange(start, stop, step)

      np.arange(3, 7, 2)

      array([3, 5])

      Linspace 函數非常相似,但略有不同。它根據 start 和 stop 指定的范圍以及 num 設定的個數,生成指定個數的均勻間隔序列。因此,給定一個開始值 start 和結束值 stop,以及個數值 num,linspace 函數將在 NumPy 數組中均分這個范圍。這在數據可視化和繪圖時軸的聲明很有用。

      # np.linspace(start, stop, num)

      np.linspace(2.0, 3.0, num=5)

      array([ 2.0,  2.25,  2.5,  2.75, 3.0])

      什么是軸 Axis

      使用 Pandas 刪除列或對 NumPy 矩陣元素求和時,你可能會遇到這個問題。如果沒有,那么之后也一定會遇到。下面給出刪除列的示例:

      df.drop('Column A', axis=1)

      df.drop('Row A', axis=0)

      在我真正知道為什么需要聲明軸是什么之前,我編寫了無數次這行代碼。從上面的代碼中,你可以推斷出,如果對列進行操作需要將 axis 設置為 1,對行操作則將其設置為 0。但這是為什么呢?我喜歡探求原因,或者至少我記得這個:

      df.shape

      (# of Rows, # of Columns)

      查看 Pandas 中 dataframe 的 shape 屬性會返回一個元組,其中第一個值表示行數,第二個值表示列數。想想 Python 中的索引方法——行為 0 列為 1,這與我們聲明軸的方法非常相似。很有意思,對吧?

      How do I use the "axis" parameter in pandas?:

      https://youtu.be/PtO3t6ynH-8

      Concat 函數、Merge 函數和 Join 函數

      如果你熟悉 SQL,那么這些函數方法可能會更容易理解。其實它們本質上都只是以一定方式合并 dataframe 的方法。哪種情況下用哪個最好很難說,所以讓我們再回顧一下。

      Concat 函數可以在下方或旁邊合并一個或多個 dataframe(取決于如何定義軸)。

      用在數據科學上的 Python:你可能忘記的 8 個概念

      Merge 函數在作為主鍵的指定公共列上合并多個 dataframe。


      用在數據科學上的 Python:你可能忘記的 8 個概念

      Join 函數合并兩個 dataframe 的方法與 merge 函數類似。但是,它根據索引合并 dataframe,而不是某些指定列。

      用在數據科學上的 Python:你可能忘記的 8 個概念

      可以通過查看優秀的 Pandas 文檔,了解特定用法和更具體的示例,以及你可能遇到的一些特殊用法。

      Youtube:

      https://youtu.be/XMjSGGej9y8

      Pandas 的 Apply 函數

      你可以把 apply 函數想做地圖功能,但它只對 Pandas 的 DataFrame 或者更具體地說是 Series 進行操作。如果你不熟悉 Series,其實它在很多方面都與 NumPy 數組非常相似。

      Apply 函數會對你指定的列或行中每個元素作用一個函數。你可以想象到這是多么有用,尤其式當你對整個 DataFrame 列進行歸一化和元素值操作,而不必進行循環。

      Python Pandas Youtube 教學視頻:

      https://youtu.be/P_q0tkYqvSk

      Pivot Tables 數據透視表

      最后但同樣重要的是數據透視表。如果你熟悉 Microsoft Excel,那你可能已經在某些方面聽說過數據透視表。Pandas 內置的 pivot_table 函數可以將電子表格樣式的數據透視表創建為 DataFrame。需要注意的是,數據透視表中的級別存儲在創建的 DataFrame 層次索引和列中。

      結語

      我希望你在使用 Python 進行數據科學操作時,可以通過經常遇到的一些重要但有些棘手的方法、函數和概念對上述方法有效地慢慢記憶。就我個人來說,寫出這些并試圖用簡單的術語解釋它們也更加加深了我對這些知識的理解。

      雷鋒網字幕組編譯。

      原文鏈接:

      https://towardsdatascience.com/python-for-data-science-8-concepts-you-may-have-forgotten-i-did-825966908393

      號外號外~

      一個專注于

      AI技術發展和AI工程師成長的求知求職社區

      誕生啦!

      歡迎大家訪問以下鏈接或者掃碼體驗

      https://club.leiphone.com/page/home

      用在數據科學上的 Python:你可能忘記的 8 個概念

      雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知

      用在數據科學上的 Python:你可能忘記的 8 個概念

      分享:
      相關文章

      知情人士

      AI研習社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學習知識的門檻。(原雷鋒字幕組)
      當月熱門文章
      最新文章
      請填寫申請人資料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個人簡介
      為了您的賬戶安全,請驗證郵箱
      您的郵箱還未驗證,完成可獲20積分喲!
      請驗證您的郵箱
      立即驗證
      完善賬號信息
      您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
      立即設置 以后再說
      主站蜘蛛池模板: 欧产日产国产精品精品| 精品无码人妻一区二区三区 | 欧美 日韩 国产 成人 在线观看| 国产精品成人AV片| 亚洲高清aⅴ日本欧美视频 | 熟妇人妻av中文字幕老熟妇| 国产va在线观看| 在线精品视频一区二区| 狠狠躁夜夜躁人人爽天天bl| 日产精品一区二区三区免费| 久久99国内精品自在现线| 永寿县| 狂野欧美性猛交免费视频| 婷婷色小说| 亚洲欧美综合人成在线| 亚洲精品在线少妇内射| 人妻丰满熟妇无码区免费| 7777久久亚洲中文字幕蜜桃| 国产精品嫩草影院午夜| 亚洲综合另类小说色区一| 怡春院综合| 无码精品国产va在线观看dvd| 变态另类AV| 人人天天久久| 日本91视频| 我的公把我弄高潮了视频| 精品无码国产污污污免费| 亚洲成a人片在线网站| 亚洲国产成人无码av在线影院 | jiZZjiZZ欧美69| 无码人妻丝袜| 成人免费xxxxx在线观看| 7777精品久久久大香线蕉| 在线观看国产一区亚洲bd| 99re6这里有精品热视频| 免费成人AV| V一区无码内射国产| 成人国产一区二区三区精品| 色婷婷久久| 国产一区二区亚洲精品| 台江县|