日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 求均值_数据分析:寻找Python最优计算性能

發(fā)布時間:2025/4/16 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 求均值_数据分析:寻找Python最优计算性能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、場景描述

在數(shù)據(jù)統(tǒng)計分析過程中,求累計值(總和)是最常用的統(tǒng)計指標之一,市面上的各種流行數(shù)據(jù)庫均支持的查詢方式基本如下:

select sum(c) from table_name;

當數(shù)據(jù)量在小規(guī)模時,sum只是一瞬間的事情,讓你感覺電腦真牛逼啊,我掰手指頭要算半天的數(shù),它居然可以這么快,下面是1萬多條數(shù)據(jù)的字段求和,只用了8ms。

但是當數(shù)據(jù)量不斷增長到一個量級時,比如說,先定個小目標:一億條訂單求總額,你可以嘗試在常規(guī)的數(shù)據(jù)庫上執(zhí)行同樣的語句需要多長時間。

在我的電腦上執(zhí)行這樣的查詢,大約需要10s。

或者更大的量級,十億、百億、萬億?你一秒鐘給我算出來,哈哈,電腦也算懵逼了。

采用分布式存儲、分布式計算,是目前解決大規(guī)模計算的通用方法,讓你吃100個饅頭,估計一禮拜也吃不完,做慈善,一人一個分給班里的同學,幾分鐘就沒了,吃不完的那個放學別走。

2、舉栗說明

今天我們不講分布式計算,先看看如何在單機上達到最優(yōu)的計算性能。

以下的示例,用python語言模擬求1億條訂單金額的平均值。

大家注意:我國小學生以后的課程都有python了,在未來編程是個基本技能。

2.1 首先用傳統(tǒng)的For Loop方式

還是一億條數(shù)據(jù)跑分

結(jié)果:

看來也不快啊,花了十幾秒,python在沒有特定優(yōu)化的前提下,比Java,Go語言慢了不少。

2.2 內(nèi)置 sum 函數(shù)上場

不過我們知道python有內(nèi)置的sum函數(shù),是不是會快一點?讓我們來試試:

結(jié)果:

不到十秒,快了一點點,但還是不理想。

2.3 神兵numpy

聽說有個numpy庫,可以向量化(vectorization)執(zhí)行各種運算,牽到臺上看看:

結(jié)果:

哎呀48毫秒,真心牛逼啊,足足快了幾百倍,比Go、Java都快,不信你可以自己寫個Go語言的版本對比一下。

2.3 沒完

聽說還有個叫numba的,看簡寫nb也很NB,要不把剛才的那些再跑一遍瞧瞧:

可以看出numba對For Loop的提升明顯,對內(nèi)置sum和numpy向量化影響不大。

來個最終對比圖,一目了然(柱子越低性能越好):

3、結(jié)論:磨刀不誤砍柴工

現(xiàn)在有些數(shù)據(jù)庫為了滿足OLAP的需求,已經(jīng)集成了向量化處理,通過測評,的確是顯著提高了數(shù)據(jù)分析統(tǒng)計的性能,限于篇幅,今天不在此展開了。

Python numpy庫主要提供:

ndarray,速度快且空間高效的多維array,可進行向量化算術(shù)操作和更高級推廣應用能力。

標準數(shù)學函數(shù),可快速執(zhí)行整個array上的數(shù)據(jù)操作,而不需要寫循環(huán):

比如說arr = np.array([[1.,2.,3.],[4.,5.,6.]]),可以進行arr * arr,arr * 0.5,1/arr等運算,這些運算都是對array中的元素做相應的計算,即向量化的操作。

歡迎關(guān)注公眾號:數(shù)獵天下DataHunter

-數(shù)據(jù)分析展示就用 DataHunter-

數(shù)據(jù)可視化大屏展示工具-免費試用?www.datahunter.cn?channel=weibo

總結(jié)

以上是生活随笔為你收集整理的python 求均值_数据分析:寻找Python最优计算性能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。