一.項(xiàng)目背景
中位數(shù)是數(shù)理統(tǒng)計(jì)中一個(gè)重要的指標(biāo),它可以自動(dòng)忽略數(shù)據(jù)極差帶來(lái)的影響,
能夠很好的評(píng)估數(shù)據(jù),在數(shù)理統(tǒng)計(jì)中很常用。本文主要介紹在Python中和Mysql
中如何來(lái)求中位數(shù),重點(diǎn)讓大家掌握SQL計(jì)算中位數(shù),也是面試??碱}目之一。
二.實(shí)現(xiàn)過程
1.Python實(shí)現(xiàn)
》》創(chuàng)建DataFrame
》》分組計(jì)算中位數(shù)
import pandas as pd
#創(chuàng)建DataFrame
data=pd.DataFrame(
{ 'company':['A','A','A','A','B','B','B','B','B'],
'salary':[1057,1874,2059,2268,6587,6637,6932,7415,7654]
})
#輸出分組統(tǒng)計(jì)值
print(data.groupby('company')['salary'].median().reset_index().rename({'salary':'median_salary'},axis=1))
![poYBAGP3IdSAdN0cAABAu8P4IgI697.png](https://file.elecfans.com/web2/M00/93/6E/poYBAGP3IdSAdN0cAABAu8P4IgI697.png)
2.SQL實(shí)現(xiàn)
》》統(tǒng)計(jì)字段長(zhǎng)度
》》按照奇偶長(zhǎng)度分別計(jì)算字段一半
》》按照字段排序統(tǒng)計(jì)順序
》》篩選所需字段并計(jì)算
建表語(yǔ)句:
mysql> create table median_val(
-> company varchar(20),
-> salary int)
-> engine=innodb default charset=utf8;
Query OK, 0 rows affected, 1 warning (0.07 sec)
插入數(shù)據(jù):
mysql> insert into median_val(company,salary) values("A",1057),("A",1874),("A",2059),("A",2268),("B",7415),("B",7654),("B",6932),("B",6587),("B",6637);
Query OK, 9 rows affected (0.06 sec)
Records: 9 Duplicates: 0 Warnings: 0
計(jì)算中位數(shù):
mysql> select
-> company,
-> round(avg(salary),1) as median_salary
-> from
-> (select
-> company,
-> salary,
-> count(*) over(partition by company) as num_length,
-> row_number() over(partition by company order by salary) as ranking,
-> count(*) over(partition by company) /2 as num_company_even,
-> ceil(count(*) over(partition by company) /2) as num_company_odd
-> from
-> median_val)a
-> where
-> (mod(num_length,2)=0 and ranking in (num_length/2,num_length/2+1))
-> or
-> (mod(num_length,2)=1 and ranking=ceil(num_length/2))
-> group by
-> company;
+---------+---------------+
| company | median_salary |
+---------+---------------+
| A | 1966.5 |
| B | 6932.0 |
+---------+---------------+
2 rows in set (0.00 sec)
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
MySQL
+關(guān)注
關(guān)注
1文章
829瀏覽量
26743 -
python
+關(guān)注
關(guān)注
56文章
4807瀏覽量
85038 -
位數(shù)
+關(guān)注
關(guān)注
0文章
3瀏覽量
2412
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
TC377波特率計(jì)算是否與幀大小有關(guān)?
brZ 如圖 471 所示,
我想知道這個(gè)波特率計(jì)算是否與幀大小有關(guān)? 例如,4 位幀、8 位幀、32 位幀?波特率是指一幀/秒嗎? 對(duì)于 32 位幀,它是 32 位/秒?
發(fā)表于 01-22 06:29
ads1256有效位數(shù)怎么計(jì)算?
您好,對(duì)于ADS1256有效位數(shù)的計(jì)算,數(shù)據(jù)手冊(cè)給出的測(cè)試公式是怎么推到出來(lái)的呢?能夠幫我推到出來(lái)嗎?對(duì)于第一張圖中rms的計(jì)算是怎么出來(lái)的?
發(fā)表于 11-22 07:07
有關(guān)中斷代碼的疑問
有關(guān)中斷代碼的疑問當(dāng)我用op_intrpt_schedule_self(time,code)時(shí),這個(gè)中斷碼是不是自己隨便定義的啊,隨便是整型數(shù)幾都可以?以前一直這么理解的,但結(jié)果一直不對(duì),仔細(xì)看才
發(fā)表于 06-14 18:01
stm32的計(jì)算是不是都由FPU來(lái)完成?
請(qǐng)問stm32的計(jì)算是不是都由FPU來(lái)完成?如果不是什么情況下由FPU來(lái)算什么情況下有內(nèi)核來(lái)算。
發(fā)表于 10-18 16:28
邊緣計(jì)算是指什么?邊緣計(jì)算的最大優(yōu)勢(shì)是什么
邊緣計(jì)算是指在生成或收集物聯(lián)網(wǎng)(IoT)數(shù)據(jù)的網(wǎng)絡(luò)“邊緣”處或附近發(fā)生的處理。結(jié)合使用邊緣計(jì)算和邊緣分析(包括人工智能和機(jī)器學(xué)習(xí))的公司,可以獲取有價(jià)值的實(shí)時(shí)洞察,從而獲得競(jìng)爭(zhēng)優(yōu)勢(shì)?! ∵吘?/div>
發(fā)表于 07-12 07:18
量子計(jì)算是什么
量子計(jì)算是一種遵循量子力學(xué)規(guī)律調(diào)控量子信息單元進(jìn)行計(jì)算的新型計(jì)算模式。對(duì)照于傳統(tǒng)的通用計(jì)算機(jī),其理論模型是通用圖靈機(jī);通用的量子計(jì)算機(jī),其理
巨頭們開始角逐邊緣計(jì)算是出于怎樣的目的
云計(jì)算是計(jì)算服務(wù)的集中化,以最簡(jiǎn)單的形式利用共享數(shù)據(jù)中心基礎(chǔ)設(shè)施和規(guī)模經(jīng)濟(jì)來(lái)降低成本。
發(fā)表于 09-20 09:15
?758次閱讀
邊緣計(jì)算是什么?與ARM和云計(jì)算有什么關(guān)系
提到邊緣計(jì)算就不得不提一下云計(jì)算。所謂的云計(jì)算是指的是通過網(wǎng)絡(luò)“云”,將龐大的數(shù)據(jù)處理程序被分解成無(wú)數(shù)的小程序,然后由多個(gè)服務(wù)器組成的系統(tǒng)對(duì)結(jié)果進(jìn)行處理和分析,并返回給用戶。在云計(jì)算的
云計(jì)算是保護(hù)數(shù)據(jù)的關(guān)鍵嗎?
云計(jì)算是如此強(qiáng)大,因?yàn)槠髽I(yè)控制某些人可以訪問什么數(shù)據(jù)。企業(yè)不僅可以通過密碼保護(hù)云本身,也可以通過密碼保護(hù)云計(jì)算的不同區(qū)域。
發(fā)表于 06-20 11:27
?645次閱讀
AI邊緣計(jì)算是什么,為什么5G的發(fā)展離不開它
邊緣計(jì)算是云計(jì)算的補(bǔ)充和優(yōu)化。如果說(shuō)云計(jì)算是“云”化的數(shù)據(jù)集中處理,那么邊緣計(jì)算可以理解為在邊緣和靠近終端(如屏幕、傳感器等智能設(shè)備)的位置進(jìn)行數(shù)據(jù)處理。在許多情況下,邊緣
發(fā)表于 05-07 17:30
?551次閱讀
邊緣計(jì)算是個(gè)啥東西
在互聯(lián)網(wǎng)時(shí)代,每天都有新的概念誕生。就像今天提到的邊緣計(jì)算。邊緣計(jì)算,與云計(jì)算,是同一個(gè)體系下的相對(duì)概念。他們的標(biāo)準(zhǔn)化概念各位可以自行百度,通俗的來(lái)講,云計(jì)算是公用大腦,邊緣
發(fā)表于 05-18 14:44
?0次下載
![邊緣<b class='flag-5'>計(jì)算是</b>個(gè)啥東西](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AI邊緣計(jì)算是什么意思?邊緣ai是什么?AI邊緣計(jì)算應(yīng)用
AI邊緣計(jì)算是什么意思?邊緣ai是什么?AI邊緣計(jì)算應(yīng)用? 隨著人工智能技術(shù)的不斷發(fā)展,邊緣計(jì)算作為一種新型的計(jì)算模式逐漸成為熱門話題。AI邊緣計(jì)算
SOLIDWORKS仿真計(jì)算是什么意思?
SOLIDWORKS仿真計(jì)算是指利用SOLIDWORKS軟件進(jìn)行工程設(shè)計(jì)和分析時(shí)所使用的計(jì)算方法和技術(shù)。SOLIDWORKS是一款流行的三維計(jì)算機(jī)輔助設(shè)計(jì)(CAD)軟件,它提供了豐富的工具和功能,使工程師能夠創(chuàng)建和模擬各種產(chǎn)品和
![SOLIDWORKS仿真<b class='flag-5'>計(jì)算是</b>什么意思?](https://file1.elecfans.com//web2/M00/A1/D9/wKgZomT4LX-AUI6SAAOhe7IdQXk364.jpg)
評(píng)論