본문 바로가기

Python52

[Python] apply, map, applymap의 차이 map - 딕셔너리 사용 - 단일 칼럼 변환 apply - 데이터프레임과 시리즈를 모두 다룰 수 있다. iris.apply(lambda x: x['petal length'] * x['petal width'], axis = 1) applymap - 데이터프레임 전체 데이터 셀에 적용 df.applymap(lambda x: np.log(x)) 2021. 7. 16.
[Python] 데이터프레임 행/열 바꾸기 :: transpose, T 데이터프레임의 행과 열을 바꾸기위해 df.transpose나 df.T를 사용하면 된다. # 행/열 전환 df.transpose() df.T 기존 열 이름이 인덱스가 되고, 인덱스는 열 이름이 된다. 2021. 4. 2.
[Python] 데이터프레임 열 이름/컬럼명 변경 :: rename 데이터프레임의 열 이름을 변경하는 방법으로 df.columns, df.rename이 있다. # 전체 열 이름 입력하기 df.columns = ['col', 'col', 'col'] # 선택하여 열 이름 변경하기 df.rename(columns={'Before':'After'}) df.columns는 전체 열 이름을 지정해줘야하지만 df.rename은 변경할 열 이름만 지정할 수 있다. 열 이름을 전부 변경해야하는 경우는 df.columns를 사용하는 것이 편하다. 하지만 일부만 선택해야하는 경우는 df.rename이 더 낫다. 위와 같이 예시데이터가 있을 때 df.columns만 입력하면 데이터프레임의 열 이름이 조회된다. df.columns 이때 변경할 열 이름 목록을 리스트로 대입하면 열 이름이 변경.. 2021. 4. 1.
[Python] 데이터프레임 열 이름 조회 :: columns 열 이름을 조회하는 방법은 아주 간단하다. 데이터프레임에 .columns만 붙여주면 열 이름을 조회할 수 있다. # 데이터프레임 전체 열 이름 조회 df.columns # i+1번째 열 이름 선택 df.columns[i] 2021. 3. 30.
[Python] 데이터프레임 합치기 :: pd.concat 데이터프레임을 위/아래(행 기준)로 합치거나 옆으로(열 기준)으로 합치기 위해서는 pd.concat을 사용하면 된다. # Pandas import pandas as pd # 위/아래로 합치기 - 행 기준 pd.concat([df1, df2], axis = 0) # 옆으로 합치기 - 열 기준 pd.concat([df1, df2], axis = 1) [] 합칠 데이터프레임을 입력하면 된다. 이때 입력된 순서대로 데이터프레임이 합쳐진다. axis = 0 - 행 기준 - 동일한 column명을 기준으로 데이터프레임이 위/아래로 쌓아진다. axis = 1 - 열 기준 - 데이터프레임이 옆으로 붙는다. [ Example ] 예시로 사용할 데이터를 생성하였다. 행(axis=0)으로 합쳐질 때 column이 일치하지 .. 2021. 3. 7.
[Python] pd.read_csv 오류 :: UnicodeDecodeError [ Error ] UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 0: invalid start byte [ Solution ] encoding을 'cp949' 혹은 'euc-kr'로 설정해준다. # euc-kr pd.read_csv('data.csv', encoding='euc-kr') # cp949 pd.read_csv('data.csv', encoding='cp949') 2021. 3. 7.
[Python] 리스트(list) 중복 제거 / 고유값 1. list(set())을 이용한 중복제거 파이썬 리스트의 중복을 제거하는 방법 중 가장 간편한 방법은 set을 이용하는 것이다. set은 리스트의 고유값을 집합으로 반환한다. # 리스트의 고유값 - 집합 set(리스트) # 리스트의 고유값 - 리스트 list(set(리스트)) 이를 리스트로 변환하려면 list() 함수를 사용하면 된다. 하지만 set을 이용할 경우 고유값이 정렬되어 반환된다. 고유값의 순서가 중요할 경우 set이 아닌 다른 방법을 사용해야 한다. 2. for문 고유값의 순서가 유지되어야 한다면 아래 식을 이용하면 된다. 고유값이 저장될 리스트(temp)에 값이 없다면 값을 추가하는 방식이다. # 리스트 중복제거 - 순서유지 temp = [] for t in 리스트: if t not i.. 2021. 2. 11.
[Python] 리스트 정렬하기 :: sort / sorted 파이썬에서 리스트를 정렬하는 방법으로 sort와 sorted가 있다. sort를 실행하면 정렬된 값으로 리스트가 변경된다. 하지만 sorted는 정렬된 값을 보여주고 휘발된다. list.sort() - 정렬된 값으로 리스트가 수정된다.(in-place) - 역순으로 정렬 = list.sort(reverse = True) - 메소드이므로 . 앞에 리스트가 온다. sorted(list) - 정렬을 따로 저장해줘야한다. - 역순으로 정렬 = sorted(list, reverse = True) - 함수이므로 괄호 안에 리스트가 온다. 2021. 2. 10.
[Python] 영문 > 한글 키보드 입력 변환하기 :: 자모결합 / 자소결합 영어로 이루어진 키워드를 한글로 변환해야하는 일이 있었다. 예를들어 '사과'를 입력하고 싶었으나 'tkrhk'로 입력된 경우를 찾기 위해서다. 내가 생각한 방법은 'tkrhk'의 알파벳을 영-한 입력 딕셔너리에서 찾아서 대치하는 방법이다. 자세한건 아래에서 코드와 함께 봅시다! 1. 영문-한글 키보드 딕셔너리 생성 # 자음-초성/종성 cons = {'r':'ㄱ', 'R':'ㄲ', 's':'ㄴ', 'e':'ㄷ', 'E':'ㄸ', 'f':'ㄹ', 'a':'ㅁ', 'q':'ㅂ', 'Q':'ㅃ', 't':'ㅅ', 'T':'ㅆ', 'd':'ㅇ', 'w':'ㅈ', 'W':'ㅉ', 'c':'ㅊ', 'z':'ㅋ', 'x':'ㅌ', 'v':'ㅍ', 'g':'ㅎ'} # 모음-중성 vowels = {'k':'ㅏ', 'o':.. 2021. 1. 29.
[Python] for문(반복문) 진행상황 표시 :: tqdm / tqdm_notebook 반복문이 어디까지 진행되었는지 알고싶다면 tqdm을 사용하면 된다. 우선 tqdm 패키지를 설치해준다. # 패키지 설치하기 # pip pip install tqdm # conda conda install -c conda-forge tqdm tqdm을 실행했을 때 No module named 'tqdm' 에러가 나타나면 패키지를 설치하면 된다. tqdm_notebook from tqdm import tqdm_notebook for i in tqdm_notebook(range(10000)): print(i) 쥬피터 노트북에서 tqdm_notebook을 사용하면 진행상황이 원활하게 나타난다. 사용방법은 간단하다. for문에서 range의 바깥에 tqdm_notebook을 추가해주면 된다. 자신의 for문(반복.. 2021. 1. 28.