Có phương pháp thư viện tích hợp hoặc tiêu chuẩn trong Python để tính toán trung bình số học [một loại trung bình] của danh sách các số không?
Henry Ecker
33K18 Huy hiệu vàng31 Huy hiệu bạc52 Huy hiệu Đồng18 gold badges31 silver badges52 bronze badges
Hỏi ngày 10 tháng 10 năm 2011 lúc 17:19Oct 10, 2011 at 17:19
3
Tôi không nhận thức được bất cứ điều gì trong thư viện tiêu chuẩn. Tuy nhiên, bạn có thể sử dụng một cái gì đó như:
def mean[numbers]:
return float[sum[numbers]] / max[len[numbers], 1]
>>> mean[[1,2,3,4]]
2.5
>>> mean[[]]
0.0
Trong Numpy, có
>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean[a]
2.3333333333333335
8.
so sánh
9.87715 Huy hiệu vàng52 Huy hiệu bạc76 Huy hiệu đồng15 gold badges52 silver badges76 bronze badges
Đã trả lời ngày 10 tháng 10 năm 2011 lúc 17:22Oct 10, 2011 at 17:22
NPENPENPE
474K105 Huy hiệu vàng930 Huy hiệu bạc1002 Huy hiệu Đồng105 gold badges930 silver badges1002 bronze badges
7
Numpy có một
>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean[a]
2.3333333333333335
9 có nghĩa là một số học. Việc sử dụng đơn giản như thế này:>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean[a]
2.3333333333333335
Đã trả lời ngày 13 tháng 12 năm 2012 lúc 22:12Dec 13, 2012 at 22:12
BengtbengtBengt
13.6K6 Huy hiệu vàng47 Huy hiệu bạc65 Huy hiệu Đồng6 gold badges47 silver badges65 bronze badges
9
Sử dụng
import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
0:import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
Nó có sẵn kể từ Python 3,4. Đối với người dùng 3.1-3.3, một phiên bản cũ của mô-đun có sẵn trên PYPI dưới tên
import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
1. Chỉ cần thay đổi import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
2 thành import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
1.
Đã trả lời ngày 28 tháng 12 năm 2013 lúc 22:38Dec 28, 2013 at 22:38
kirbyfan64soskirbyfan64soskirbyfan64sos
10k6 huy hiệu vàng54 Huy hiệu bạc74 Huy hiệu đồng6 gold badges54 silver badges74 bronze badges
4
Bạn thậm chí không cần numpy hay scipy ...
>>> a = [1, 2, 3, 4, 5, 6]
>>> print[sum[a] / len[a]]
3
Bengt
13.6K6 Huy hiệu vàng47 Huy hiệu bạc65 Huy hiệu Đồng6 gold badges47 silver badges65 bronze badges
Sử dụng
import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
0:Aug 17, 2013 at 18:29
Nó có sẵn kể từ Python 3,4. Đối với người dùng 3.1-3.3, một phiên bản cũ của mô-đun có sẵn trên PYPI dưới tên
import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
1. Chỉ cần thay đổi import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
2 thành import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
1.MumonĐã trả lời ngày 28 tháng 12 năm 2013 lúc 22:385 silver badges2 bronze badges
6
10k6 huy hiệu vàng54 Huy hiệu bạc74 Huy hiệu đồng
import scipy;
a=[1,2,4];
print[scipy.mean[a]];
Bạn thậm chí không cần numpy hay scipy ...Nov 19, 2012 at 19:11
BengtElendurwen
Đã trả lời ngày 17 tháng 8 năm 2013 lúc 18:299 silver badges13 bronze badges
1
Mumonmumon
def mean[nums]:
return sum[nums, 0.0] / len[nums]
6415 Huy hiệu bạc2 Huy hiệu đồng
mean = lambda nums: sum[nums, 0.0] / len[nums]
Sử dụng Scipy:
Đã trả lời ngày 19 tháng 11 năm 2012 lúc 19:11
Elendurwenelendurwen
9349 Huy hiệu bạc13 Huy hiệu Đồng
Thay vì đúc để nổi, bạn có thể làm theo
4.25
hoặc sử dụng Lambda
Cập nhật: 2019-12-15Apr 28, 2017 at 10:56
Python 3.8 Đã thêm chức năng FMean vào mô -đun thống kê. Đó là nhanh hơn và luôn luôn trả lại float.Vlad Bezden
Chuyển đổi dữ liệu thành phao và tính toán trung bình số học.23 gold badges245 silver badges177 bronze badges
from statistics import mean
avarage=mean[your_list]
Điều này chạy nhanh hơn hàm trung bình [] và nó luôn trả về một chiếc phao. Dữ liệu có thể là một chuỗi hoặc có thể lặp lại. Nếu bộ dữ liệu đầu vào trống, hãy tăng một số liệu thống kê.
from statistics import mean
my_list=[5,2,3,2]
avarage=mean[my_list]
print[avarage]
FMean [[3.5, 4.0, 5.25]]
3.0
Mới trong phiên bản 3.8.Oct 2, 2018 at 16:56
Đã trả lời ngày 28 tháng 4 năm 2017 lúc 10:56
Vlad Bezdenvlad Bezden77.4K23 Huy hiệu vàng245 Huy hiệu bạc177 Huy hiệu đồng
Ví dụ
và kết quả làDec 30, 2020 at 22:20
Đã trả lời ngày 2 tháng 10 năm 2018 lúc 16:56Mathieu Rollet
Nếu bạn đang sử dụng Python> = 3.8, bạn có thể sử dụng hàm
4 được giới thiệu trong mô -đun import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
2 là một phần của thư viện tiêu chuẩn:2 gold
badges16 silver badges26 bronze badgesimport statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean[a]
2.3333333333333335
1Examples:
>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean[a]
2.3333333333333335
2
>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean[a]
2.3333333333333335
0Sep 10, 2017 at 20:29
>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean[a]
2.3333333333333335
3Nó nhanh hơn hàm
import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
0, nhưng nó chuyển đổi các điểm dữ liệu của nó thành import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
7 trước đó, do đó nó có thể kém chính xác hơn trong một số trường hợp cụ thể.Aug 18, 2016 at 15:09
0
Bạn có thể thấy việc triển khai của nó ở đây
>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean[a]
2.3333333333333335
4Đã trả lời ngày 30 tháng 12 năm 2020 lúc 22:20
Mathieu Rolletmathieu Rollet
1.6832 huy hiệu vàng16 Huy hiệu bạc26 Huy hiệu đồng
Đã trả lời ngày 10 tháng 9 năm 2017 lúc 20:29
5>>> import numpy >>> a = [1, 2, 4] >>> numpy.mean[a] 2.3333333333333335
Đã trả lời ngày 18 tháng 8 năm 2016 lúc 15:09Nov 2, 2015 at 11:03
n611x007n611x007n611x007
Tôi luôn cho rằng
8 bị bỏ qua khỏi Buildins/Stdlib vì nó đơn giản như7 gold badges58 silver badges97 bronze badgesimport statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
và bất kỳ cảnh báo nào sẽ được giải quyết trong mã người gọi để sử dụng cục bộ.
>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean[a]
2.3333333333333335
6Đáng chú ý đáng chú ý:Aug 28, 2018 at 1:30
Kết quả không nổi: Trong Python2, 9/4 là 2. Để giải quyết, sử dụng
import statistics
print[statistics.mean[[1,2,4]]] # 2.3333333333333335
9 hoặc >>> a = [1, 2, 3, 4, 5, 6]
>>> print[sum[a] / len[a]]
3
0PaulMcGPhân chia theo 0: Danh sách có thể trống. Để giải quyết:15 gold badges89 silver badges127 bronze badges
Đã trả lời ngày 2 tháng 11 năm 2015 lúc 11:03
>>> import numpy
>>> a = [1, 2, 4]
>>> numpy.mean[a]
2.3333333333333335
78.6907 Huy hiệu vàng58 Huy hiệu bạc97 Huy hiệu ĐồngSep 11, 2017 at 1:53