Python進階之路,2024年七個不可錯過的技巧
前言
Python是數(shù)據(jù)科學領域最廣泛使用的編程語言之一。其受歡迎程度與日俱增!近年來,數(shù)據(jù)科學領域本身已經(jīng)得到了迅猛的發(fā)展。今天,每個人都在談論機器學習和數(shù)據(jù)科學。因此,學習Python和機器學習是必要的。讓我們來看看一些隱藏的Python技巧。
在這里與大家分享七個Python技巧,這些技巧不僅可以加強Python技能,還可以提高工作效率。發(fā)現(xiàn)合適的Python庫確實可以簡化開發(fā)過程!這些技巧無疑將提升你作為數(shù)據(jù)科學家或數(shù)據(jù)工程師的水平。
作為一名數(shù)據(jù)科學家,你是否曾經(jīng)發(fā)現(xiàn)自己在撰寫論文時,需要將復雜的公式轉(zhuǎn)換為LaTeX代碼?那么,第一個技巧可以幫助解決這個問題!讓我們深入研究一下,看看它如何讓這個過程更輕松。所以,現(xiàn)在我們開始探索7個必知的實用技巧吧。
技巧1:將圖像輕松轉(zhuǎn)換為LaTeX代碼
有這樣一個名為Pix2TeX的Python庫,可以將帶有方程式的圖像神奇地轉(zhuǎn)換為LaTeX代碼。想象一下,可以輕松地將一個文檔中的方程式整合到另一個文檔中,甚至不需要從頭開始重新創(chuàng)建!
可以使用pip安裝該庫:pip install pix2tex[gui]
讓我們來看一個示例。
運行Pix2TeX的實際效果(Gif由pix2tex提供)
這個軟件包大大簡化了論文或科學論文的編寫過程。而且最重要的是,它完全免費。
技巧2:自動刪除未使用的Python代碼
這個技巧可以使源代碼更加簡潔。眾所周知,在大型軟件項目中存在著大量未使用的代碼。未使用的Python代碼可能會導致以下幾個問題:
- 浪費內(nèi)存和資源
- 使代碼難以理解
- 測試和調(diào)試代碼時遇到困難
有趣的是,有一個名為vulture的工具可以幫助開發(fā)者自動刪除未使用的Python代碼!
可以使用pip安裝該庫:pip install vulture
如下所示,可以看到一個示例。
識別未使用的代碼
該代碼表示一個銀行客戶。首先,我們導入pandas,然后定義客戶類。在主函數(shù)中,我們創(chuàng)建了一個客戶對象。然后,輸出客戶的賬戶余額。
之后,我們使用vulture軟件包運行了腳本。該工具返回當前未使用的所有代碼部分(標為紅色)。使用這個工具,可以非常輕松地清理代碼。
技巧3:保護敏感信息的最佳實踐
另一個重要技巧——將敏感信息保存在.env文件中,然后使用Python包python-dotenv將其加載到Python腳本中,這始終是一個明智的做法。
這樣,就可以確保重要數(shù)據(jù)的安全,不會因意外而出現(xiàn)在代碼庫或版本控制系統(tǒng)中。
可以使用pip安裝該庫:pip install python-dotenv
如下所示,可以看到如何使用該包。
保護敏感信息
該代碼從本地的.env文件中加載OpenAI API密鑰。
所有開發(fā)者都應遵循此過程,以避免因信息泄露而造成不必要的損失。保持安全!
技巧4:使用Rocketry調(diào)度Python函數(shù)
為了使用易于理解和可定制的調(diào)度語句來調(diào)度Python函數(shù),可以使用Rocketry。與其他工具不同,Rocketry對項目結(jié)構(gòu)不做任何假設。它非常適用于快速高效的自動化項目。
可以使用pip安裝該庫:pip install rocketry
以下代碼展示了如何使用該庫。
使用Rocketry調(diào)度Python函數(shù)
首先,我們導入rocketry包。然后,可以使用裝飾器@app.task(...)定義任務,非常簡單。
技巧5:使用Faker生成逼真的虛假數(shù)據(jù)
Faker是一個Python包,可以輕松創(chuàng)建虛假但逼真的測試數(shù)據(jù)。它可以生成姓名、地址、郵政編碼等等。告別手工創(chuàng)建測試數(shù)據(jù),使用Faker改進你的測試效果。
可以使用pip安裝該庫:pip install Faker
如下所示,可以看到一些示例。
使用Faker生成逼真的虛假數(shù)據(jù)
首先,我們導入Faker包并創(chuàng)建一個對象。然后,就可以使用此對象生成逼真的虛假數(shù)據(jù)(姓名、地址、郵政編碼等等)。生成虛假數(shù)據(jù)比以往任何時候都更容易。
技巧6:以一種簡單的方式跟蹤機器學習實驗
跟蹤機器學習實驗非常重要!但是,要知道編寫多個日志語句可能會有點麻煩。為了簡化事情,可以在訓練代碼之前添加mlflow.autolog()以實現(xiàn)自動日志記錄。
最棒的是提供了一個基于Docker的開源MLflow Workspace,幫助你立即開始跟蹤??梢詮腉itHub下載我們的MLflow Workspace(包含Python示例)。
【下載鏈接】:https://github.com/tinztwins/mlflow-workspace
如下所示,可以看到一個短視頻演示,演示如何使用MLflow Workspace進行自動日志記錄。可以在GitHub存儲庫中找到更多信息。
盡情享受MLflow Workspace帶來的樂趣,愉快地進行跟蹤!
技巧7:通過單個參數(shù)加快代碼速度
大型pandas數(shù)據(jù)幀可能會消耗大量內(nèi)存。令人驚奇的是,通過以較小的塊處理數(shù)據(jù)可以幫助防止內(nèi)存耗盡并更快地訪問數(shù)據(jù)!
可以在下圖中看到一個示例。
使用chunksize加快數(shù)據(jù)訪問速度
速度快了近7000倍!下次想要讀取大型數(shù)據(jù)幀時,應記住使用該參數(shù)。
總結(jié)
總之,這七個技巧旨在提升你的Python技能,提高工作效率,并簡化作為數(shù)據(jù)科學家或數(shù)據(jù)工程師的生活。
從使用Pix2TeX輕松將圖像轉(zhuǎn)換為LaTeX代碼,到使用vulture清理代碼,使用python-dotenv保護敏感數(shù)據(jù),使用Rocketry調(diào)度函數(shù),使用Faker生成虛假數(shù)據(jù),使用mlflow跟蹤機器學習實驗,以及在處理大型pandas數(shù)據(jù)幀時加快代碼速度,每個技巧都能為你帶來獨特的價值。