Làm thế nào để bạn tìm thấy trung bình của một danh sách trong Python? Danh sách có thể có bất kỳ kích thước nào và các số không được đảm bảo là theo bất kỳ thứ tự cụ thể nào.
Nội phân chính
- Python có chức năng trung bình không?
- Làm thế nào để bạn tìm thấy trung bình của một mảng trong Python?
- Làm cách nào để tính toán trung bình?
- Làm thế nào để bạn tìm thấy trung bình của một tuple trong Python?
Nếu danh sách chứa số lượng phần tử chẵn, hàm sẽ trả về trung bình của hai phần giữa.
Dưới đây là một số ví dụ [được sắp xếp cho mục đích hiển thị]:
median[[1]] == 1
median[[1, 1]] == 1
median[[1, 1, 2, 4]] == 1.5
median[[0, 2, 5, 6, 8, 9, 9]] == 6
median[[0, 0, 0, 0, 4, 4, 6, 8]] == 2
Veedrac
55.6K14 Huy hiệu vàng108 Huy hiệu bạc165 Huy hiệu Đồng14 gold badges108 silver badges165 bronze badges
Đã hỏi ngày 7 tháng 6 năm 2014 lúc 21:04Jun 7, 2014 at 21:04
2
Python 3.4 có
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
7:Trả về trung bình [giá trị trung bình] của dữ liệu số.
Khi số lượng điểm dữ liệu là lẻ, hãy trả về điểm dữ liệu giữa. Khi số lượng điểm dữ liệu là chẵn, trung bình được nội suy bằng cách lấy trung bình của hai giá trị trung bình:
>>> median[[1, 3, 5]] 3 >>> median[[1, 3, 5, 7]] 4.0
Usage:
import statistics
items = [6, 1, 8, 2, 3]
statistics.median[items]
#>>> 3
Nó cũng khá cẩn thận với các loại:
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
Đã trả lời ngày 8 tháng 6 năm 2014 lúc 0:08Jun 8, 2014 at 0:08
VeedracveedracVeedrac
55.6K14 Huy hiệu vàng108 Huy hiệu bạc165 Huy hiệu Đồng14 gold badges108 silver badges165 bronze badges
3
Đã hỏi ngày 7 tháng 6 năm 2014 lúc 21:04python-2.x]:
def median[lst]:
n = len[lst]
s = sorted[lst]
return [s[n//2-1]/2.0+s[n//2]/2.0, s[n//2]][n % 2] if n else None
>>> median[[-5, -5, -3, -4, 0, -1]]
-3.5
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
8:>>> from numpy import median
>>> median[[1, -4, -1, -1, 1, -3]]
-1.0
Python 3.4 có
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
7:>>> from statistics import median
>>> median[[5, 2, 3, 8, 9, -2]]
4.0
Trả về trung bình [giá trị trung bình] của dữ liệu số.Jun 7, 2014 at 23:33
Khi số lượng điểm dữ liệu là lẻ, hãy trả về điểm dữ liệu giữa. Khi số lượng điểm dữ liệu là chẵn, trung bình được nội suy bằng cách lấy trung bình của hai giá trị trung bình:A.J. Uppal
Nó cũng khá cẩn thận với các loại:6 gold badges41 silver badges74 bronze badges
7
Đã trả lời ngày 8 tháng 6 năm 2014 lúc 0:08
Veedracveedrac[Hoạt động với Python-2.x]:
Đối với Python-3.x, hãy sử dụng
7:16 gold badges43 silver badges62 bronze badgesstatistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
Đã trả lời ngày 7 tháng 6 năm 2014 lúc 23:33Jun 7, 2014 at 22:09
A.J. Uppala.J. Uppalswolfe
Phim thương hiệu vàng 18.6K641 Huy hiệu bạc74 Hàng đồng5 silver badges8 bronze badges
2
Hàm
def median[lst]:
n = len[lst]
s = sorted[lst]
return [s[n//2-1]/2.0+s[n//2]/2.0, s[n//2]][n % 2] if n else None
0 rất hữu ích cho việc này. Sử dụng hàm được sắp xếp để đặt hàng danh sách, sau đó chỉ cần trả về giá trị giữa [hoặc trung bình hai giá trị giữa nếu danh sách chứa số lượng phần tử chẵn].def median[data]:
data.sort[]
mid = len[data] // 2
return [data[mid] + data[~mid]] / 2
________số 8Jan 21, 2018 at 17:22
vvvvvVlad Bezden
18.6K16 Huy hiệu vàng43 Huy hiệu bạc62 Huy hiệu đồng23 gold badges235 silver badges174 bronze badges
Đã trả lời ngày 7 tháng 6 năm 2014 lúc 22:09
>>> median[[1, 3, 5]]
3
>>> median[[1, 3, 5, 7]]
4.0
0Swolfeswolfe
8765 Huy hiệu bạc8 Huy hiệu Đồng
Tất nhiên bạn có thể sử dụng các chức năng xây dựng trong các chức năng, nhưng nếu bạn muốn tạo riêng bạn, bạn có thể làm một cái gì đó như thế này. Bí quyết ở đây là sử dụng ~ toán tử lật số dương sang âm. Chẳng hạn ~ 2 -> -3 và sử dụng tiêu cực trong danh sách trong Python sẽ đếm các mục từ cuối. Vì vậy, nếu bạn có mid == 2 thì nó sẽ lấy phần tử thứ ba từ mục đầu và thứ ba từ cuối.12 gold badges32 silver badges42 bronze badges
Đã trả lời ngày 21 tháng 1 năm 2018 lúc 17:22Apr 25, 2015 at 20:18
2
Vlad Bezdenvlad Bezden
75.5K23 Huy hiệu vàng235 Huy hiệu bạc174 Huy hiệu đồng
>>> median[[1, 3, 5]]
3
>>> median[[1, 3, 5, 7]]
4.0
1Đây là một giải pháp sạch hơn:
>>> median[[1, 3, 5]]
3
>>> median[[1, 3, 5, 7]]
4.0
2Lưu ý: Câu trả lời đã thay đổi để kết hợp gợi ý trong bình luận.
SihaJun 8, 2014 at 0:49
VeedracveedracVeedrac
55.6K14 Huy hiệu vàng108 Huy hiệu bạc165 Huy hiệu Đồng14 gold badges108 silver badges165 bronze badges
2
Đã hỏi ngày 7 tháng 6 năm 2014 lúc 21:04
Python 3.4 có
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
7:>>> median[[1, 3, 5]]
3
>>> median[[1, 3, 5, 7]]
4.0
3Trả về trung bình [giá trị trung bình] của dữ liệu số.Jun 7, 2014 at 22:48
5
>>> median[[1, 3, 5]]
3
>>> median[[1, 3, 5, 7]]
4.0
4Khi số lượng điểm dữ liệu là lẻ, hãy trả về điểm dữ liệu giữa. Khi số lượng điểm dữ liệu là chẵn, trung bình được nội suy bằng cách lấy trung bình của hai giá trị trung bình:
Nó cũng khá cẩn thận với các loại:1 gold badge35 silver badges51 bronze badges
Đã trả lời ngày 8 tháng 6 năm 2014 lúc 0:08Sep 25, 2018 at 18:22
VeedracveedracBulent
[Hoạt động với Python-2.x]:1 silver badge1 bronze badge
0
>>> median[[1, 3, 5]]
3
>>> median[[1, 3, 5, 7]]
4.0
5Đối với Python-3.x, hãy sử dụng
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
7:Mar 4, 2016 at 11:50Đã trả lời ngày 7 tháng 6 năm 2014 lúc 23:33warvariuc
A.J. Uppala.J. Uppal36 gold badges167 silver badges225 bronze badges
Phim thương hiệu vàng 18.6K641 Huy hiệu bạc74 Hàng đồng
>>> median[[1, 3, 5]]
3
>>> median[[1, 3, 5, 7]]
4.0
6Hàm
def median[lst]:
n = len[lst]
s = sorted[lst]
return [s[n//2-1]/2.0+s[n//2]/2.0, s[n//2]][n % 2] if n else None
0 rất hữu ích cho việc này. Sử dụng hàm được sắp xếp để đặt hàng danh sách, sau đó chỉ cần trả về giá trị giữa [hoặc trung bình hai giá trị giữa nếu danh sách chứa số lượng phần tử chẵn].>>> median[[1, 3, 5]]
3
>>> median[[1, 3, 5, 7]]
4.0
7________số 8
>>> median[[1, 3, 5]]
3
>>> median[[1, 3, 5, 7]]
4.0
8vvvvv
18.6K16 Huy hiệu vàng43 Huy hiệu bạc62 Huy hiệu đồng15 gold badges150 silver badges131 bronze badges
Đã trả lời ngày 7 tháng 6 năm 2014 lúc 22:09Jul 5, 2020 at 23:16
SwolfeswolfeThe AG
8765 Huy hiệu bạc8 Huy hiệu Đồng8 silver badges17 bronze badges
0
Tất nhiên bạn có thể sử dụng các chức năng xây dựng trong các chức năng, nhưng nếu bạn muốn tạo riêng bạn, bạn có thể làm một cái gì đó như thế này. Bí quyết ở đây là sử dụng ~ toán tử lật số dương sang âm. Chẳng hạn ~ 2 -> -3 và sử dụng tiêu cực trong danh sách trong Python sẽ đếm các mục từ cuối. Vì vậy, nếu bạn có mid == 2 thì nó sẽ lấy phần tử thứ ba từ mục đầu và thứ ba từ cuối.
Đã trả lời ngày 21 tháng 1 năm 2018 lúc 17:22
>>> median[[1, 3, 5]]
3
>>> median[[1, 3, 5, 7]]
4.0
9Vlad Bezdenvlad BezdenJan 21, 2016 at 0:00
0
75.5K23 Huy hiệu vàng235 Huy hiệu bạc174 Huy hiệu đồng
import statistics
items = [6, 1, 8, 2, 3]
statistics.median[items]
#>>> 3
0Đây là một giải pháp sạch hơn:Apr 22, 2020 at 12:07
Gabriel123Gabriel123Gabriel123
Lưu ý: Câu trả lời đã thay đổi để kết hợp gợi ý trong bình luận.4 silver badges10 bronze badges
Siha
import statistics
items = [6, 1, 8, 2, 3]
statistics.median[items]
#>>> 3
1Đã trả lời ngày 27 tháng 5 năm 2016 lúc 8:52May 27, 2016 at 8:52
Chỉ cần hai dòng là đủ.
import statistics
items = [6, 1, 8, 2, 3]
statistics.median[items]
#>>> 3
2Asclepius
51.9K15 Huy hiệu vàng150 Huy hiệu bạc131 Huy hiệu đồng15 gold badges150 silver badges131 bronze badges
Đã trả lời ngày 17 tháng 9 năm 2020 lúc 2:32Sep 17, 2020 at 2:32
Rt.TongRt.TongRt.Tong
1572 Huy hiệu bạc5 Huy hiệu Đồng2 silver badges5 bronze badges
chức năng trung bình
import statistics
items = [6, 1, 8, 2, 3]
statistics.median[items]
#>>> 3
3Đã trả lời ngày 21 tháng 5 năm 2015 lúc 13:55May 21, 2015 at 13:55
Tôi đã có một số vấn đề với danh sách các giá trị nổi. Cuối cùng tôi đã sử dụng đoạn mã từ Thống kê Python3.Median và đang làm việc hoàn hảo với các giá trị nổi mà không cần nhập. nguồn
import statistics
items = [6, 1, 8, 2, 3]
statistics.median[items]
#>>> 3
4Đã trả lời ngày 3 tháng 5 năm 2017 lúc 16:54May 3, 2017 at 16:54
DandanDan
7171 Huy hiệu vàng7 Huy hiệu bạc19 Huy hiệu đồng1 gold badge7 silver badges19 bronze badges
import statistics
items = [6, 1, 8, 2, 3]
statistics.median[items]
#>>> 3
5Đã trả lời ngày 18 tháng 2 năm 2018 lúc 18:00Feb 18, 2018 at 18:00
vk123vk123vk123
Phù hiệu bằng đồng 2133 bronze badges
import statistics
items = [6, 1, 8, 2, 3]
statistics.median[items]
#>>> 3
6Đã trả lời ngày 6 tháng 4 năm 2018 lúc 21:55Apr 6, 2018 at 21:55
3
Tôi đã xác định hàm trung bình cho một danh sách các số là
import statistics
items = [6, 1, 8, 2, 3]
statistics.median[items]
#>>> 3
7Đã trả lời ngày 14 tháng 10 năm 2014 lúc 14:12Oct 14, 2014 at 14:12
1
import statistics
items = [6, 1, 8, 2, 3]
statistics.median[items]
#>>> 3
8Đã trả lời ngày 26 tháng 8 năm 2019 lúc 7:12Aug 26, 2019 at 7:12
Một cách tiếp cận tổng quát hơn cho trung bình [và phần trăm] sẽ là:
import statistics
items = [6, 1, 8, 2, 3]
statistics.median[items]
#>>> 3
9Đã trả lời ngày 7 tháng 5 năm 2020 lúc 19:46May 7, 2020 at 19:46
Conmakconmakconmak
9928 Huy hiệu bạc13 Huy hiệu đồng8 silver badges13 bronze badges
Thử cái này
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
0Đã trả lời ngày 20 tháng 12 năm 2021 lúc 13:32Dec 20, 2021 at 13:32
0xN1nja0xN1nja0xN1nja
8085 Huy hiệu bạc13 Huy hiệu Đồng5 silver badges13 bronze badges
1
Thực hiện nó:
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
1Nguồn từ
Asclepius
51.9K15 Huy hiệu vàng150 Huy hiệu bạc131 Huy hiệu đồng15 gold badges150 silver badges131 bronze badges
Đã trả lời ngày 17 tháng 9 năm 2020 lúc 2:32Oct 4, 2020 at 16:36
1572 Huy hiệu bạc5 Huy hiệu Đồngduyuanchao
chức năng trung bình23 silver badges15 bronze badges
Đã trả lời ngày 21 tháng 5 năm 2015 lúc 13:55:
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
2Tôi đã có một số vấn đề với danh sách các giá trị nổi. Cuối cùng tôi đã sử dụng đoạn mã từ Thống kê Python3.Median và đang làm việc hoàn hảo với các giá trị nổi mà không cần nhập. nguồnFeb 15, 2020 at 11:03
1
Đã trả lời ngày 3 tháng 5 năm 2017 lúc 16:54
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
3Asclepius
51.9K15 Huy hiệu vàng150 Huy hiệu bạc131 Huy hiệu đồng15 gold badges150 silver badges131 bronze badges
DandanApr 27, 2021 at 5:17
7171 Huy hiệu vàng7 Huy hiệu bạc19 Huy hiệu đồng
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
4Đã trả lời ngày 18 tháng 2 năm 2018 lúc 18:00 Basically if the number of items in the list is odd, return the middle number, otherwise, if you half an even list, python automatically rounds the higher number so we know the number before that will be one less [since we sorted it] and we can add the default higher number and the number lower than it and divide them by 2 to find the median.
Asclepius
51.9K15 Huy hiệu vàng150 Huy hiệu bạc131 Huy hiệu đồng15 gold badges150 silver badges131 bronze badges
Phù hiệu bằng đồng 213Nov 6, 2020 at 6:31
1
Đã trả lời ngày 6 tháng 4 năm 2018 lúc 21:55
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
5Tôi đã xác định hàm trung bình cho một danh sách các số làJan 24, 2017 at 19:05
Đã trả lời ngày 14 tháng 10 năm 2014 lúc 14:12I Like
Đã trả lời ngày 26 tháng 8 năm 2019 lúc 7:122 gold badges20 silver badges41 bronze badges
2
Một cách tiếp cận tổng quát hơn cho trung bình [và phần trăm] sẽ là:
statistics.median[map[float, items]]
#>>> 3.0
from decimal import Decimal
statistics.median[map[Decimal, items]]
#>>> Decimal['3']
6Đã trả lời ngày 7 tháng 5 năm 2020 lúc 19:46
ConmakconmakDec 7, 2018 at 16:11
9928 Huy hiệu bạc13 Huy hiệu đồngFarhan
Thử cái này14 silver badges22 bronze badges
2
Đã trả lời ngày 20 tháng 12 năm 2021 lúc 13:32
8085 Huy hiệu bạc13 Huy hiệu Đồngthe statistics. median[] function is used to calculate the median value of a data set. The median[] method takes in one parameter: the data list. When you call the median[] method, it will order a list of values and find its middle value.
Thực hiện nó:
Nguồn từ. If the number of values, n, is even, then the median is the average of the values in n/2 and n/2 + 1 position in the sorted list[or array] of values.
Đã trả lời ngày 4 tháng 10 năm 2020 lúc 16:36
Duyuanchaoduyuanchao.
3,433333 Huy hiệu bạc15 Huy hiệu đồng
Chức năng trung bình:
Đã trả lời ngày 15 tháng 2 năm 2020 lúc 11:03
Đơn giản, hãy tạo một hàm trung bình với một đối số như một danh sách số và gọi hàm.
Đã trả lời ngày 27 tháng 4 năm 2021 lúc 5:17
Những gì tôi đã làm là thế này:use statistics. median[] method.