欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Python如何獲取列表(List)的中位數

 更新時間:2016年08月12日 17:29:19   投稿:daisy  
本文通過圖文及實例代碼介紹了怎樣利用python獲取列表的中位數,文章介紹的很詳細,有需要的小伙伴們可以參考學習。

前言

中位數是一個可將數值集合劃分為相等的上下兩部分的一個數值。如果列表數據的個數是奇數,則列表中間那個數據就是列表數據的中位數;如果列表數據的個數是偶數,則列表中間那2個數據的算術平均值就是列表數據的中位數。在這個任務里,你將得到一個含有自然數的非空數組(X)。你必須把它分成上下兩部分,找到中位數。

輸入: 一個作為數組的整數(int)列表(list)的。

輸出: 數組的中位數(int, float). 

示例

get_median([1, 2, 3, 4, 5]) == 3
get_median([3, 1, 2, 5, 3]) == 3
get_median([1, 300, 2, 200, 1]) == 2
get_median([3, 6, 20, 99, 10, 15]) == 12.5
 

如何使用: 中位數在概率論和統(tǒng)計學中得到應用,它偏態(tài)分布中有顯著的價值。例如:我們想從一組數據中知道人們的平均財富 -- 100人一個月收入100美元,10人一個月收入1,000,000美元。如果我們算平均值,得到的是91000美元。這是一個完全沒有向我們展示真實情況的奇怪的值。所以在這種情況下,中位數會給我們更有用的值和較好的描述。

前提: 1 < len(data) ≤ 1000 all(0 ≤ x < 10 ** 6 for x in data)

普通方法:

對列表進行排序,針對列表長度是奇數還是偶數的不同情況,計算中位數。

def get_median(data):
   data = sorted(data)
   size = len(data)
   if size % 2 == 0: # 判斷列表長度為偶數
    median = (data[size//2]+data[size//2-1])/2
    data[0] = median
   if size % 2 == 1: # 判斷列表長度為奇數
    median = data[(size-1)//2]
    data[0] = median
   return data[0]

最佳方法:

這個解決方法非常巧妙,它利用了取反數和為1的特性,通過列表負索引來獲得列表中位數。

return (data[half] + data[~half]) / 2 的解釋:

排序后得到序列[1,2,3,4,5,6],其列表長度為偶數,中位數由列表中間兩位元素3(索引為2),4(索引為3)決定。而元素4的負索引為-3,正好是索引2的取反數。

排序后得到序列[1,2,3,4,5],其列表長度為奇數,中位數由列表中間元素3(索引為2,負索引為-3)決定。仍然符合代碼。 

   def get_median(data):
   data.sort()
   half = len(data) // 2
   return (data[half] + data[~half]) / 2

總結

以上就是Python實現獲取列表的中位數的全部內容,希望本文的內容對大家學習python能有所幫助。

相關文章

  • Python面向對象封裝案例基礎教程

    Python面向對象封裝案例基礎教程

    這篇文章主要為大家介紹了Python面向對象封裝案例基礎教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • python3.7實現云之訊、聚合短信平臺的短信發(fā)送功能

    python3.7實現云之訊、聚合短信平臺的短信發(fā)送功能

    這篇文章主要介紹了python3.7實現云之訊、聚合短信平臺的短信發(fā)送功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • OpenCV實現圖像平滑處理的方法匯總

    OpenCV實現圖像平滑處理的方法匯總

    這篇文章為大家詳細介紹了在圖像上面進行了圖像均值濾波、方框濾波 、高斯濾波、中值濾波、雙邊濾波、2D卷積等具體操作的方法,需要的可以參考一下
    2023-02-02
  • python實現將文本轉換成語音的方法

    python實現將文本轉換成語音的方法

    這篇文章主要介紹了python實現將文本轉換成語音的方法,涉及Python中pyTTS模塊的相關使用技巧,需要的朋友可以參考下
    2015-05-05
  • 解決django-xadmin列表頁filter關聯對象搜索問題

    解決django-xadmin列表頁filter關聯對象搜索問題

    今天小編就為大家分享一篇解決django-xadmin列表頁filter關聯對象搜索問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python全局變量用法實例分析

    Python全局變量用法實例分析

    這篇文章主要介紹了Python全局變量用法,結合實例形式分析了Python中全局變量的定義、使用方法與相關注意事項,需要的朋友可以參考下
    2016-07-07
  • pandas處理csv文件的方法步驟

    pandas處理csv文件的方法步驟

    這篇文章主要介紹了pandas處理csv文件的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Pytorch中關于nn.Conv2d()參數的使用

    Pytorch中關于nn.Conv2d()參數的使用

    這篇文章主要介紹了Pytorch中關于nn.Conv2d()參數的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 淺談tensorflow1.0 池化層(pooling)和全連接層(dense)

    淺談tensorflow1.0 池化層(pooling)和全連接層(dense)

    本篇文章主要介紹了淺談tensorflow1.0 池化層(pooling)和全連接層(dense),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • python之從文件讀取數據到list的實例講解

    python之從文件讀取數據到list的實例講解

    下面小編就為大家分享一篇python之從文件讀取數據到list的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評論