전체 글
-
[파이썬] DataFrame에서 누락값 처리하기Pandas 2021. 1. 15. 19:24
데이터를 처리하다 보면 비어있는 데이터가 있는 경우가 많습니다. 예를 들면 df = pd.DataFrame({'Name': ['Choi', 'Kim', 'Lee', "Park"], 'Age': [25, 11, np.nan, 30]}) df 이런 경우가 됩니다. 예시에서는 데이터가 적기 때문에 직접 행과 열을 지목해서 대입해줄 수도 있겠지만 실제 데이터는 양이 어마어마하기 때문에 일일이 바꿔주기란 사실상 불가능합니다. 이러한 누락 값을 처리하기 위해 도움이 되는 메서드들을 알아보겠습니다. 1. 누락값 개수 체크 일단 데이터에 누락값이 어느 열에 존재하는지, 얼마나 존재하는지 확인해보겠습니다. 1-1. count() Pandas의 count() 메서드는 각 열에 대해 NaN값이 아닌 것들의 합이 리턴됩니다...
-
[파이썬] 리스트 경우의 수, 조합 구하기Python 2021. 1. 12. 23:24
리스트에서 두 개의 원소로 할 수 있는 조합을 구하라는 문제와 비슷한 걸 자주 마주칠 수 있는데요 그럴 때 itertools를 사용하면 쉽게 풀 수 있습니다. from itertools import product from itertools import permutations from itertools import combinations 하나의 리스트에서 구할 때는 permutations과 combinations를 사용하면 되고 두 개 이상의 리스트에서 구할 때는 product를 사용하면 됩니다. permutations은 정확히는 순열이 되고 combinations는 조합이 되겠네요 a = [1,2,3] list(permutations(a, 2)) # [(1, 2), (1, 3), (2, 1), (2, 3..
-
[파이썬] 특정 문자로 문자열 나누기, 문자열 바꾸기Python 2021. 1. 12. 22:55
특정 문자로 문자열 나누기 str = "동해물과 백두산이 마르고" result = str.split() print(result) # ['동해물과', '백두산이', '마르고'] 문자열을 자를 땐 split 메서드를 사용하면 됩니다. 띄어쓰기로 문자열을 나누고 싶을 땐 split그대로 사용하면 되고 ', '나 ':' 등 다양한 문자로 나누고 싶을 땐 해당 문자를 전달해주면 됩니다. 반환 값은 리스트 형식입니다! str = "동해물과:백두산이:마르고" result = str.split(':') print(result) # ['동해물과', '백두산이', '마르고'] 문자열 바꾸기 str = 'Hello, world!' str[7] = 'k' # TypeError Traceback (most recent call..
-
[파이썬] 결정경계 그래프 그리기Python 2021. 1. 11. 03:29
머신러닝 모델을 만들어 사용하다 보면 분류가 어떻게 되었는지 그래프로 보고 싶을 때 어떻게 하는지 알아보겠습니다. 2D 평면에 나타낼 것이기 때문에 데이터의 차원도 2인 경우만 다루도록 하겠습니다. 먼저 전체 코드와 결과그래프를 본 뒤 자세한 설명을 하겠습니다. from matplotlib.colors import ListedColormap def plot_decision_regions(X, y, classifier, resolution=0.02): # 마커와 컬러맵을 설정합니다 markers = ('s', 'x', 'o', '^', 'v') colors = ('red', 'blue', 'lightgreen', 'gray', 'cyan') cmap = ListedColormap(colors[:len(np..
-
[파이썬] 판다스 DataFrame에서 열 선택하기Pandas 2021. 1. 8. 17:47
단일 열을 선택할 때는 열의 이름을 주면 됩니다. import pandas as pd movie = pd.read_csv('data/movie.csv') #경로 director = movie['director_name'] # 읽고 싶은 열 이름 열 이름을 이용해 단일 열을 읽어올 경우 Series 타입으로 불러옵니다. 위에는 Series 그대로 출력한 것이고 아래는 DataFrame으로 변환해서 출력한 모습입니다. 여러 개의 열을 불러올 때도 크게 다르지 않습니다. 열 이름이 담긴 열을 전달하면 됩니다. actor_director = movie[['actor_1_name', 'director_name']] # 열 이름이 담긴 리스트 입력 actor_director.head() 두 개의 열을 불러온 모습입..
-
[파이썬] 판다스 인덱스 바꾸기Pandas 2021. 1. 6. 18:06
디폴트로 데이터 프레임은 0,1,2,...으로 정해지는데요 원하는 인덱스로 바꾸는 방법을 알아보겠습니다. movie = pd.read_csv('data/movie.csv') movie2 = movie.set_index('movie_title') movie2 # movie = pd.read_csv('data/movie.csv', index_col = 'movie_title') 영화 제목으로 인덱스가 변경되었습니다. read_csv에서 인자로 바로 전달해줄 경우 코드를 줄이면서 할 수 있습니다. 이렇게 정해진 인덱스 이름도 직접 원하는 데로 변경이 가능합니다. idx_rename = {'Avatar': 'Rataba'} col_rename = {'director_name': 'Director Name'} m..
-
[파이썬] 판다스 단일 열 다루기Pandas 2021. 1. 6. 17:56
DataFrame을 다루다 보면 원하는 열만 가지고와 사용할 때가 있습니다. 그러기 위해서 어떻게 하는지 알아보겠습니다. 1. 단일 열 불러오기 import pandas as pd movie = pd.read_csv('data/movie.csv') movie.head() 위와 같은 데이터프레임에서 감독의 이름(director_name) 열만 가져와보겠습니다. movie['director_name'] # movie.director_name 두 가지 방법으로 호출할 수 있는데요 결과는 똑같습니다. 이렇게 불러온 데이터의 타입은 Series인데요 필요에 따라 DataFrame으로 바꿔야 하는 경우가 생깁니다. 한번 바꿔보겠습니다. director = movie['director_name'] direcor.to..
-
[파이썬] 판다스 csv 파일 읽기.read_csv()Pandas 2021. 1. 6. 17:32
판다스를 이용하면 여러 데이터 파일을 손쉽게 읽을 수 있습니다. 자세한 documents는 pandas.pydata.org/pandas-docs/stable/user_guide/index.html에서 참고하시길 바라겠습니다. 이번에는 csv 파일을 읽어보겠습니다. 1. read_csv() 사용하기 import pandas as pd movie = pd.read_csv('data/movie.csv') movie.head() 판다스를 설치하셨다는 가정하에 진행하겠습니다. pandas를 import 해주시고 read_csv라는 메서드를 이용했습니다. 인자로를 경로를 입력해주세요. head() 메서드는 데이터의 앞부분만 읽기 위해 사용했습니다. read_csv() 메소드를 통해 파일을 읽어오면 반환은 DataF..