python中获取中位数
生活随笔
收集整理的這篇文章主要介紹了
python中获取中位数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
普通方法:
對列表進行排序,然后根據長度為奇數或者偶數的不同情況計算中位數
最佳方法:
采用取反的方式來求中位數,排序后結果為l=[1,2,3,4,5,6,7,8,9,10],長度為10,half=10//2=5,x[5]為列表的第六位數,5的取反數為-6,x[-6]實際上是對列表進行反向查找,為列表中的第五位數,長度為偶數10時中值5+6/2=5.5。
當結果為l=[1,2,3,4,5,6,7,8,9]時,長度為9,half=9//2=4,x[4]為列表的第五位數,4取反為-5,x[-5]在列表中是正向反向查找中的第五位數,所以x[4]==x[-5],中位數就為x[4]或者x[-5]。
def median(data):data.sort()half = len(data) // 2return (data[half] + data[~half])/2l = [1,2,3,7,5,6,4,9,8,10] if __name__ == '__main__':print(median(l))?
轉載于:https://www.cnblogs.com/s-1314-521/p/9771478.html
總結
以上是生活随笔為你收集整理的python中获取中位数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: react 父子组件传值
- 下一篇: Python示例-Logging