취뽀 기록

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

코린이 탈출 일지

[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

[개념 및 문법] 2023.07.04 0

[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..

[개념 및 문법] 2023.07.04 0

[Pandas] 데이터 구간별 범주화 pd.cut, pd.get_dummies

데이터 구간별 범주화 pd.cut 함수 데이터 값들을 특정 구간에 따라서 범주화할 때 사용 범주를 나누고 라벨을 붙여서 범주형 데이터로 변환 가능 연속 데이터를 구간별로 범주화 [cut 함수] 균등한 길이의 그룹 데이터의 분산에 따라 각각의 그룹마다 데이터 수가 다르게 나뉜다. [qcut 함수] 같은 크기의 그룹 표본 변위치를 기반으로 데이터를 나누어, 적당히 같은 크기의 그룹으로 나눌 수 있다. horsepower를 3 구간으로 저출력 / 보통출력 / 고출력 으로 나눠보자. pd.cut을 이용하는데 (데이터배열, 구간, 레이블이름, 경계 포함) 중 데이터배열과 구간은 필수 입력 여기서 include_lowest는 구간의 시작값을 포함하는지에 대한 여부 # 범주형 변환 bins_name = ["저출력",..

[개념 및 문법] 2023.06.19 0

[Pandas] 데이터 전처리(널값 확인 및 대체, 중복 데이터, 표준화)

일단 라이브러리를 불러오자 # 라이브러리 불러오기 import pandas as pd import seaborn as sns # 널값 확인 # = 비어 있는 데이터(값) = 누락 데이터 df = sns.load_dataset('titanic') df.info() # Non-Null Count # 전체 행 개수가 891개 이므로 Non-Null Count도 891개가 되어야 널값이 없는 것 # 891개보다 적으면 널값이 있으니 확인! # 빈도표 # 빈도표 = 해당 열 고유값 & NaN 미포함 df['deck'].value_counts() # 빈도표 = 해당 열 고유값 & NaN 포함 df['deck'].value_counts(dropna = False) # 널값 개수 확인 # 널값 개수 합 = 열 단위로 ..

[개념 및 문법] 2023.06.19 2

[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의 초기값을 첫 번째 원소로 하고, ..

[개념 및 문법] 2023.07.02 0

[코드트리] 직각삼각형 별 출력 > 별표 출력하기 5

정수 n의 값을 입력받아 별표를 출력하는 프로그램을 아래 예를 참고하여 작성해보세요. n에 2를 입력받는 경우 ** ** * n에 3을 입력받는 경우 *** *** *** ** ** * # 변수 선언 및 입력 n = int(input()) # i는 각 행마다 *을 몇 묶음씩 출력 할 것인지를 의미합니다. for i in range(n, 0, -1): # j는 각 행마다 *묶음을 i번 출력하는 역할을 합니다. for _ in range(i): # k는 *묶음을 출력해주는 역할을 합니다. # *묶음은 항상 i개의 *로 이루어져 있습니다. for _ in range(i): print("*", end="") # *묶음을 만든 이후에는 꼭 공백을 띄워줘야 합니다. print(" ", end="") # 행마다 한 ..

[코드트리] 2023.06.22 0

[판다스] 시계열 객체 변환, 시계열 데이터 만들기, 날짜 데이터 분리, 날짜 인덱싱

시계열 데이터를 만들어보자 옵션 ----------------------------------------------------------------------- - start : 시작 날짜 - end : 종료 날짜 - periods : Timestamp 개수 - freq : 빈도(월 간격, 월 시작일 등) - tz : 시간 기준 # Timestamp 배열 = range() sd_ts = pd.date_range(start = "2022-01-01", # 시작 날짜 end = None, # 끝 날짜 periods = 12, # Timestamp 개수 freq = 'MS', # 월 간격, 월 시작일 tz = 'Asia/Seoul') print(sd_ts) sd_ts = pd.date_range(start =..

[개념 및 문법] 2023.06.19 0

[python] 정규화(최대절대값 정규화, 최소값-최대값 정규화)

최대절대값 정규화 = 관측치 / 절대값(최대값) => -1 ~ 1 사이의 값을 가질 수 있음 df['hp_nmz1'] = df['horsepower']/abs(df['horsepower'].max()) # df['hp_nmz1'] = df['horsepower']/abs(df['horsepower']).max() df['hp_nmz1'].describe() 최소값 - 최대값 정규화 = (관측치 - 최소값) / (최대값 - 최소값) 관측치 = 최소값이라면? => 0 관측치 = 최대값이라면? => 1 => 0 ~ 1 사이의 값을 가질 수 있음 df['hp_nmz2'] = (df['horsepower'] - df['horsepower'].min())/ \ (df['horsepower'].max() - df['..

[개념 및 문법] 2023.06.19 1

[사이킷런] 더미변수 만들기, 라벨 인코딩, 원핫 인코딩

사이킷런으로 가변수를 만들어보자. # 라벨 인코딩 [Label Encoding] 라벨 인코딩은 n개의 범주형 데이터를 0부터 n-1까지의 연속적 수치 데이터로 표현 소 → 0 / 중 → 1 / 대 → 2 주의할 점은 인코딩의 결과가 수치적인 차이를 의미하진 않는다는 것 즉, 대(2)가 중(1)의 두배라는 것은 아님! # 사이킷런으로 더미변수 만들기 from sklearn import preprocessing # 전처리 엔코더 객체 label_encoder = preprocessing.LabelEncoder() onehot_encoder = preprocessing.OneHotEncoder() # 문자열 범주를 숫자 범주로 변환 = LabelEncoder labels = label_encoder.fit_t..

[개념 및 문법] 2023.06.19 0