在Python中執行數據分析,記住這八個概念節省你的時間精力

掌握Python、NumPy和Pandas中的小技巧

在Python中執行數據分析,記住這八個概念節省你的時間精力

問題

不止你一個人在編程時發現自己一遍又一遍地查找相同的問題、概念或語法。作者自己也經常這樣做。

雖然在StackOverflow或其他資源上查找並不是困難的事,但它確實會讓你放慢腳步,並會讓你對語言的理解產生疑問。

我們生活在一個看似具有無限的免費資源的世界裡,你隨時隨地都能搜索到你想要的東西。然而,這可能是祝福,也可能是一種詛咒。如果不能進行有效管理,過度依賴這些資源可能會養成不良習慣,從而導致長期的惡果。

在Python中執行數據分析,記住這八個概念節省你的時間精力

就作者個人而言,他發現自己多次從類似的討論主題中提取代碼,而不是花時間去學習和鞏固這個概念,以便可以在下一次自己重新編寫代碼。

這樣做無疑會壓制你的成長、創造力以及回憶語法的能力。

目標

最近,作者在Udemy上學習了名為Python for Data Science and Machine Learning的在線數據科學課程。在這期的講座中,作者想起了一些在Python中執行數據分析時一直忽略的概念和語法。

為了鞏固對這些概念的理解,並且為節省一些StackOverflow搜索,下面是作者在使用Python,NumPy和Pandas時總是忘記的東西。

作者為每個概念都寫了一個簡短的描述和示例,但為了方便讀者,作者還展示包含視頻和其他資源的鏈接,以便更深入地探索每個概念。

單行列表理解

每次需要定義某種列表時,編寫一個for循環是很麻煩的,幸運的是,Python有一種內置的方法可以在一行代碼中解決這個問題。語法可能有點難以理解,但一旦熟悉了這種技術,你會經常使用它。

在Python中執行數據分析,記住這八個概念節省你的時間精力

請參閱上面和下面的示例,瞭解如何使用for循環創建列表。不過在這裡我們沒有使用循環。

在Python中執行數據分析,記住這八個概念節省你的時間精力

Lambda函數

你是否已經厭倦了為有限的用例創建一個又一個的函數? Lambda函數來拯救你!Lambda函數用於在Python中創建小型、一次性和匿名函數對象。

lambda函數的基本語法是:

在Python中執行數據分析,記住這八個概念節省你的時間精力

請注意,只要有一個表達式,lambda函數就可以完成常規函數可以執行的任何操作。

在Python中執行數據分析,記住這八個概念節省你的時間精力

map()和filter函數

一旦掌握了lambda函數,接下來學習如何將它們與map()和filter函數配成為一個強大的工具。

具體來說,map()函數通過對每個元素執行某種操作來獲取列表並將其轉換為新列表。 在本例中,它遍歷每個元素並將其本身的結果映射到新列表。 請注意,列表函數只是將輸出內容轉換為列表類型。

在Python中執行數據分析,記住這八個概念節省你的時間精力

filter函數接受列表和規則,就像map()一樣,但它通過比較每個元素和布爾過濾規則來返回原始列表的子集。

在Python中執行數據分析,記住這八個概念節省你的時間精力

Arange和Linspace

創建快速而簡單的Numpy數組只需查看arange和linspace函數。每個數組都有它的意義,但這裡是它們輸出的NumPy數組,因為這對於數據科學來說通常更容易處理。

Arange是返回給定時間間隔內的等間距值。除了起點和終點之外,你還可以根據需要定義間距或數據類型。請注意,停止點是一個"截止"值,因此它不會包含在數組輸出中。

在Python中執行數據分析,記住這八個概念節省你的時間精力

在Python中執行數據分析,記住這八個概念節省你的時間精力

軸到底意味著什麼?

在Pandas中刪除一列或在NumPy矩陣中求和值時,你可能會遇到此問題。現在我們以刪除一列為示例:

在Python中執行數據分析,記住這八個概念節省你的時間精力

正如你可能從上面推斷出的那樣,如果你想處理列,將軸設置為1,如果你想要處理行,將其設置為0。但為什麼呢?這裡面有很多原因,但至少得知道這一點:

在Python中執行數據分析,記住這八個概念節省你的時間精力

(https://www.youtube.com/watch?v=PtO3t6ynH-8)

Concat、合併和加入

如果你熟悉SQL,那麼這些概念對你來說可能會更容易。無論如何,這些函數本質上就是以特定方式組合數據框的方式。現在讓我們回顧一下這些函數。

Concat允許用戶在它下面或旁邊追加一個或多個數據框(取決於你如何定義軸)。

在Python中執行數據分析,記住這八個概念節省你的時間精力

合併將多個數據框組合在作為主鍵的特定公共列上。

在Python中執行數據分析,記住這八個概念節省你的時間精力

加入,就像合併一樣,結合了兩個數據框。但是,它會根據它們的指數連接它們,而不是某個指定的列。

在Python中執行數據分析,記住這八個概念節省你的時間精力

查看關於特定語法和更多具體示例的優秀文檔,以及可能遇到的一些特殊情況。

(https://www.youtube.com/watch?v=XMjSGGej9y8)

Panda應用

可以把apply想象成一個map()函數,但它是為Panda數據框或更具體地為系列而設計的。如果你不是那麼熟悉它,大多數情況下,它與NUMPY數組非常相似。

應用根據你指定的內容,向列或行中的每個元素髮送一個函數。你可以想象在是多麼有用,特別是對整個DataFrame列的值進行格式設置和操作,而不需要進行任何循環。

(https://youtu.be/P_q0tkYqvSk)

數據透視表

排在最後但並非最不重要的是數據透視表。如果你熟悉Microsoft Excel,那麼你可能在某些方面聽說過數據透視表。Pandas內置的數據透視表函數以DataFrame的形式創建電子表格樣式的數據透視表。請注意,數據透視表中的級別存儲在生成的DataFrame的索引和列上的MultiIndex對象中。

(https://www.youtube.com/watch?v=xPPs59pn6qU)

結束

作者希望文章中的一些概述已經有效的讓你記住了在使用Python進行數據科學時經常遇到的重要方法、函數和概念。就作者個人而言,他認為即使是寫出這些東西並試圖用簡單的方式解釋它們的行為對他自身也很有幫助。


分享到:


相關文章: