Python 최댓값, 최솟값, 최빈값, 근삿값, 평균

dumbbelldore·2024년 11월 21일
0

zero-base 33기

목록 보기
26/97

1. 최댓값

  • 자료구조에서 가장 큰 값에 해당함
num_list = [-2, -4, 5, 7, 10, 0, 8, 20, -11]
max_num = num_list[0]

for idx in range(len(num_list)):
  if num_list[idx] > max_num:
    max_num = num_list[idx]

print(max_num)

# 출력 예시
# 20

2. 최솟값

  • 자료구조에서 가장 작은 값에 해당함
num_list = [-2, -4, 5, 7, 10, 0, 8, 20, -11]
min_num = num_list[0]

for idx in range(len(num_list)):
  if num_list[idx] < min_num:
    min_num = num_list[idx]

print(min_num)

# 출력 예시
# -11

3. 최빈값

  • 자료구조에서 빈도 수가 가장 높은 값에 해당함
num_list = [1, 3, 7, 6, 7, 7, 7, 12, 12, 17]
unique_num_list = list(set(num_list))
counter = dict()

# 빈도 정보 딕셔너리 생성
for unique_num in unique_num_list:  
  cnt = 0  
  for num in num_list:
    if num == unique_num:
      cnt += 1
  counter[unique_num] = cnt

freq_num = 0
freq_cnt = 0

# 최빈값 추출
for k, v in counter.items():
  if v > freq_cnt:
    freq_cnt = v
    freq_num = k

print(f"최빈 값: {freq_num}, 빈도: {freq_cnt}")

# 출력 예시
# 최빈 값: 7, 빈도: 4

4. 근삿값

  • 특정 값에 가장 가까운 값에 해당함
# 0~50 사이 임의의 정수 10개 생성
num_list = random.sample(range(0, 50), 10)

usr_num = int(input("0~50 사이의 정수를 하나 입력하세요: "))

sim_num = num_list[0]
num_diff = usr_num - sim_num

for num in num_list:
  if abs(usr_num - num) < abs(num_diff):
    num_diff = usr_num - num
    sim_num = num

print(f"비교대상 리스트: {num_list}")
print(f"입력값: {usr_num}, 근삿값: {sim_num}, 차이: {num_diff}")

# 출력 예시
# 0~50 사이의 정수를 하나 입력하세요: 26
# 비교대상 리스트: [31, 16, 0, 8, 23, 39, 36, 44, 34, 3]
# 입력값: 26, 근삿값: 23, 차이: 3

5. 평균

  • 여러 수나 양의 중간값을 갖는 수에 해당함
import random

# 0~50 사이 임의의 정수 10개 생성
num_list = random.sample(range(0, 50), 10)
print(f"대상 리스트: {num_list}")

tot_sum = 0
for num in num_list:
  tot_sum += num
  
tot_avg = tot_sum / len(num_list)
print(f"평균: {tot_avg}")

# 출력 예시
# 대상 리스트: [15, 17, 39, 11, 45, 37, 28, 40, 8, 24]
# 평균: 26.4

*이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.

profile
데이터 분석, 데이터 사이언스 학습 저장소

0개의 댓글