취뽀 기록

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

코린이 탈출 일지

[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

[코드트리] 직각삼각형 별 출력 > 별표 출력하기 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

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

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

[개념 및 문법] 2023.06.19 0

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

[개념 및 문법] 2023.07.14 0

[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으로 주어..

[개념 및 문법] 2023.07.04 0