python對工作效率的提升 為什么Python效率這么低,還這么火?
為什么Python效率這么低,還這么火?在許多情況下,性能不是瓶頸。大約80%的應用程序不需要高性能。操控excel,選擇Python還是vba?對于大量數(shù)據(jù),建議使用Python。VBA通常將數(shù)據(jù)存
為什么Python效率這么低,還這么火?
在許多情況下,性能不是瓶頸。大約80%的應用程序不需要高性能。
操控excel,選擇Python還是vba?
對于大量數(shù)據(jù),建議使用Python。VBA通常將數(shù)據(jù)存儲在內存中。當數(shù)據(jù)沒有分割,計算機配置不高時,會出現(xiàn)更多的卡。經(jīng)過數(shù)據(jù)處理后,如果內存沒有釋放,電腦也會多卡。VBA一般啟動兩個CPU核進行數(shù)據(jù)計算,運算效率較低?,F(xiàn)在微軟已經(jīng)停止更新VBA了,更建議大家學習python。如果只操作excel,兩種學習難度相差不大,但是Python的開發(fā)空間會更好
另一種更方便的方法是使用power Bi的三個組件進行數(shù)據(jù)處理,power query進行數(shù)據(jù)處理,PowerPivot進行分析,power Bi進行數(shù)據(jù)處理的優(yōu)點數(shù)據(jù)可視化的主要觀點是學習周期短,數(shù)據(jù)可以自動刷新,啟動時間相對較快。使用這種方法,效率可能比excel快,但速度仍然不如python快。當然,為了長期的可持續(xù)性,建議學習python,但起步時間會比較長
為了解決運行效率的問題,因為python是一種軟件粘合語言,用C或Java重寫后,自然可以嵌入需要高效運行的代碼塊。這是解決執(zhí)行效率問題的最有效途徑。
開發(fā)python如何高效運行提高效率?
對于那些使用了多種開發(fā)語言(Java、C#、nodejs、Erlang)然后轉用Python進行機器學習的人,我想談談我的看法。
首先,Python真的很慢嗎?我的回答是真的。非常慢。for循環(huán)比CPP慢兩個數(shù)量級。
那么為什么要使用Python呢?如果我們遍歷超過一億個數(shù)據(jù),兩個數(shù)量級的差異是不可接受的。但是,如果我們使用Python來執(zhí)行頂層邏輯并阻塞數(shù)以億計的數(shù)據(jù),Python只會循環(huán)十幾次,剩下的就留給CPU和GPU了。所以兩個數(shù)量級無關緊要?一毫秒和100毫秒在整個系統(tǒng)中并不重要。
Python最大的優(yōu)點是它可以非常優(yōu)雅地將數(shù)據(jù)拋出到高效的C、CUDA中進行計算。Numpy、panda、numba這些優(yōu)秀的開源庫可以非常方便高效地處理海量數(shù)據(jù),借助ZMQ、cell等還可以做分布式計算,gevent借助epoll系統(tǒng)IO優(yōu)化。因此,它不需要花費太多的精力就可以優(yōu)雅高效地完成海量數(shù)據(jù)處理和機器學習任務。這就是Python如此流行的原因。
好好想想。同樣的性能,代碼只有CPP或Java的三分之一或更少,不是很吸引人嗎?