Cách hiệu quả nhất để tuần tự tìm thấy trung bình và trung bình của các hàng trong danh sách Python là gì?Tính trung bình và trung bình hiệu quả
Ví dụ, danh sách của tôi:
input_list = [1,2,4,6,7,8]
Tôi muốn tạo ra một danh sách kết quả có chứa:
output_list_mean = [1,1.5,2.3,3.25,4,4.7]
output_list_median = [1,1.5,2.0,3.0,4.0,5.0]
đâu giá trị trung bình được tính như sau:
- 1 = nghĩa là (1)
- 1.5 = trung bình (1,2) (nghĩa là giá trị trung bình của 2 giá trị đầu tiên trong input_list)
- 2.3 = trung bình (1,2,4) (tức là nghĩa của 3 giá trị đầu tiên trong input_list)
- 3,25 = trung bình (1,2,4,6) (tức là nghĩa của 4 giá trị đầu tiên trong input_list) , vv
Và trung bình được tính như sau:
- 1 = trung bình (1)
- 1,5 = trung bình (1,2) (tức là trung bình của 2 giá trị đầu tiên trong input_list)
- 2,0 = trung bình (1,2,4) (tức là trung bình 3 giá trị đầu tiên trong input_list)
- 3.0 = trung bình (1,2,4,6) (tức là trung bình của 4 giá trị đầu tiên trong input_list) v.v.
Tôi đã cố gắng thực hiện nó với vòng lặp sau, nhưng có vẻ như rất kém hiệu quả.
import numpy
input_list = [1,2,4,6,7,8]
for item in range(1,len(input_list)+1):
print(numpy.mean(input_list[:item]))
print(numpy.median(input_list[:item]))
"có vẻ rất không hiệu quả" so với những gì? Bạn có thời gian không? Tôi nghi ngờ 'import numpy' thống trị thời gian chạy (và bạn không cần nó) – msw