Python四分位和中位數計算代碼


Python四分位和中位數計算代碼- https://www.cnblogs.com/iAmSoScArEd/p/14832474.html -我超怕的

 

############
# Name:計算四分位和中位數
# Author:我超怕的
# Date:2021-05-21
###########

# 接受、處理數據
numbers=[1,2,3,4,5,6,7]
numbers.sort()
#print(numbers)
# 總個數
total = len(numbers)

# 四分位位置
local = []
for i in range(5):
    n = (i*(total-1)/4)+1
    local.append(n)

# print(local)

# 四分位計算
# 整數部分
numbersInteger = []
for i in local:
    numbersInteger.append(int(i))

# 整數結果
numbersIntergerResults = []
for i in numbersInteger:
    #print(i-1)
    numbersIntergerResults.append(numbers[i-1])

#print(numbersIntergerResults)
# 整數四分位下一個數
numbersIntergerNextResults = []
for i in numbersInteger:
    if i>= total:
        i =total-1
    numbersIntergerNextResults.append(numbers[i])

# 差值
numbersIntergerSubResults = []
for i in range(5):
    numbersIntergerSubResults.append(numbersIntergerNextResults[i]-numbersIntergerResults[i])


# 小數部分
numbersFloat = []
for i in local:
    numbersFloat.append('0.'+str(i).split('.')[1])


# 四分位結果計算
results = []
numbersFloatResults = []
for i in range(5):
    results.append(float(numbersFloat[i])*numbersIntergerSubResults[i]+numbersIntergerResults[i])

splitStr = '----------------------------------------'
print('原數據:{}'.format(numbers))
print('{}\n四分位對應:0%, 25%, 50%, 75%, 100%\n四分位數:{}\n{}'.format(splitStr,results,splitStr))

if total%2 == 0:
    print('中位數:{}'.format((numbers[int(total/2)-2]+numbers[int(total/2)-1]/2)))
else:
    print('中位數:{}'.format(numbers[int((total-1)/2)]))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM