취뽀 기록

#열심히 살자 #취업 #공부

Python/[개념 및 문법] 24

[python] loc 활용 사례

loc의 주요 사용 사례:단일 행 선택: 특정 행 라벨을 지정하여 해당 행의 데이터를 선택할 수 있습니다.df.loc['행 라벨']다중 행 선택: 행 라벨의 리스트를 지정하여 여러 행의 데이터를 선택할 수 있습니다.df.loc[['행 라벨1', '행 라벨2']]행과 열 모두 선택: 행 라벨과 열 이름을 지정하여 특정 위치의 데이터를 선택할 수 있습니다.df.loc['행 라벨', '열 이름']조건에 따른 행 선택: 조건식을 사용하여 조건에 부합하는 행만을 선택할 수 있습니다.df.loc[df['열 이름'] > 10]슬라이싱을 통한 범위 선택: 슬라이스를 사용하여 연속된 행 또는 열의 데이터를 선택할 수 있습니다.df.loc['시작 행 라벨':'끝 행 라벨', '시작 열 이름':'끝 열 이름']값 변경: l..

[python] 결측치 처리, 대체 map 함수

# 결측값 확인(비율)# EDA - 결측값 확인(비율 확인)df.isnull().sum() / df.shape[0]  # 결측치 컬럼 삭제하기# 80%이상 결측치 컬럼, 삭제df = df.drop('f3', axis = 1) # city별 f1의 median 값 확인# 80%미만 결측치 컬럼, city별 중앙값으로 대체s = df[df['city'] == '서울']['f1'].median()k = df[df['city'] == '경기']['f1'].median()b = df[df['city'] == '부산']['f1'].median()d = df[df['city'] == '대구']['f1'].median() # map 함수 이용하여 f1의 결측값을 s, k, b, d로 대체하기# f1 평균값 결과 출력d..

[python] 2차원 리스트 사용하기

리스트 2개를 사용하면 2차원 리스트가 된다. 행과 열 개념이라고 생각하면 된다. 2차원 리스트를 생성해보자 a = [[10, 20],[30, 40],[50, 60]] a에 있는 원소를 출력하려면 for i in a: for j in i: print(j) ------------------------------------------- 10 20 30 40 50 60 2개의 리스트를 사용하기 때문에 2개의 for문이 필요하다. 파이썬에서는 이렇게 간략하게 원소 출력도 가능하다. for x, y in a: print(x, y) ---------------------------------------------------------- 10 20 30 40 50 60 이번엔 for문을 이용해서 비어있는 2차원 리스..

[python] 2차원 배열과 for문

2차원 배열에서 홀수번째 행에서는 우측으로 이동하며 숫자를 적고, 짝수번째 행에 대해서는 좌측으로 이동하며 숫자를 적는 방법 2차원 배열 생성 홀수 행, 짝수 행에 대해 원소 지정 원소 프린트 n = 4 arr_2d = [ [0 for _ in range(n)] for _ in range(n) ] num = 1 for i in range(n): if i % 2 == 0: for j in range(n): arr_2d[i][j] = num num += 1 else: for j in range(n - 1, -1, -1): arr_2d[i][j] = num num += 1 # 출력 for row in arr_2d: for elem in row: print(elem, end=" ") print()

[python] 2차원 배열 선언과 활용

전부 0으로 초기화된 2차원 배열 만들기(n x n 크기) n = 4 arr_2d = [ [0 for _ in range(n)] for _ in range(n) ] print(arr_2d) >> 출력 결과 [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] n x m 크기의 격자 초기화 n, m 위치 유의하기! n, m = 4, 5 arr_2d = [ [0 for _ in range(m)] for _ in range(n) ] print(arr_2d) >> 출력 결과 [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 2차원 배열 출력하기 n = 4 arr_2d = [[1, 2, 3, ..

[python] 문자열 찾기, 문자열의 특정 위치 찾기_ index, find 함수

문자열 s에 특정 문자열 'ab'가 어느 위치에 포함되어 있는지 확인 s = 'appleabanana' length = len(s) start_idx = -1 for i in range(length - 1): if s[i] == 'a' and s[i + 1] == 'b': start_idx = i break print(start_idx) 이 때 for loop을 [0, length - 2] 에서만 돌아야 함에 유의! 이는 비교시에 i + 1 위치의 문자를 조회하기 때문 index 함수 이용 부분 문자열이 없는 경우에는 다음과 같이 ValueError가 발생 => 따라서 index 함수는 꼭 in 키워드와 함께 사용해야 함 s = 'appleabanana' if 'ab' in s: print(s.index..

[python] 특정 문자열이 있는지 찾기_slicing, for 문 이용

문자열 s에 특정 문자열 'ab'가 포함되어 있는지 여부 확인하기 s = 'appleabanana' length = len(s) exists = False for i in range(length - 1): if s[i] == 'a' and s[i + 1] == 'b': exists = True print(exists) slicing 이용하기 s = 'appleabanana' length = len(s) exists = False for i in range(length - 1): if s[i:i + 2] == 'ab': exists = True print(exists) in 키워드 사용하기 s = 'appleabanana' print('ab' in s) 만약 판단하고자 하는 부분문자열이 input으로 주어..

[python] 문자열 추가하기, 연결하기_join함수

문자열끼리 + 연산 a, b = "apple", "banana" print(a + b) >> applebanana join 함수 이용 ','.join(['1', '2', '3']) -> '1,2,3' ':'.join(['11', '22', '33']) -> '11:22:33' ''.join(['a','b','c']) -> 'abc' 구분값이 없이 각 문자열을 하나로 합치려면 구분값으로 ''를 이용하면 된다. a, b, c = "apple", "banana", "candy" tot_str = "".join([a, b, c]) print(tot_str) >> applebananacandy

[python] 주어진 숫자들 중 최댓값, 최솟값 구하기 구현

리스트 안의 숫자들 중 최댓값 구하기 arr = [1, 5, 2, 5, 3, 9] max_val = 0 for elem in arr: if elem > max_val: max_val = elem print(max_val) >> 9 만약 리스트 안의 숫자들이 모두 음수라면? 1. 주어지는 숫자들 값보다 더 작은 숫자를 초기값으로 설정하기 -> python에서는 -sys.maxsize 를 이용해 초기값 설정 가능 import sys arr = [-1, -5, -2, -5, -3, -9] max_val = -sys.maxsize for elem in arr: if elem > max_val: max_val = elem print(max_val) >> -1 2. max_val의 초기값을 첫 번째 원소로 하고, ..