
#12 Preprocessing (with Pandas)
2022. 8. 31. 14:09
개발/Python
Dataframe 병합하기 concat 수직 또는 수평 병합 pd.concat 함수에 dataframe 객체를 list에 담아서 전달 pd.concat([df, df]) # default : axis = 0 merge 매우 자주 사용 how argument를 이용해 left or inner join을 결정. default는 inner join pd.merge(, , on = "기준 column명", how = "left") cabin의 등장 빈도수를 특성으로 추가하고 싶다면? # 먼저 cabin의 index와 index별 개수를 추출 tmp = df["cabin"].value_counts().reset_index() tmp.columns = ["cabin", "cabin_cnt"] tmp # df 복사본..

#11 Preprocessing(with Pandas)
2022. 8. 30. 14:29
개발/Python
피벗 테이블 pd.pivot_table 데이터를 기준이 되는 column을 집계하여 새롭게 표 형태로 작성해주는 기능 index : 행으로 사용할 column명 columns : 열로 사용할 column명 values : 집계 대상 column aggfunc : value에 대한 집계 "함수"를 넣음 편의상 std, var, mean, count, median 등 문자열을 넣어도 함수 역할을 함 fill_value : NaN에 대해 채울 값 쿼리로 표현하면 group by column1(=index), column2(=columns) # 전 글에 titanic dataset을 이어서.. df["age2"] = df["age"] // 10 # 나이대 별 column 생성 # 나이대 별로 운임료의 평균을 알..

#10 Preprocessing(with Pandas)
2022. 8. 29. 17:53
개발/Python
전처리 전 pandas, numpy를 import하고 google colab drive 연결, titanic dataset 불러오기 # pandas, numpy import, google colab drive mount import pandas as pd import numpy as np from google.colab import drive drive.mount("/content/drive/") DATA_PATH = "/content/drive/MyDrive/ ~ /" df = pd.read_csv(f"{DATA_PATH}titanic.csv") # drive 경로에 있는 titanic dataset 불러오기 Dataframe 정보 확인 df.info() >>> RangeIndex: 1309 entri..

#09 EDA(with Pandas)
2022. 8. 29. 17:18
개발/Python
EDA(Exploratory Data Analysis, 탐색적 자료 분석) 데이터를 분석하고 결과를 도출하는 과정에 있어서 지속적으로 해당 데이터에 대한 탐색과 이해를 가져야 한다는 의미 데이터 종류 수치형 데이터 연속형 : 일정범위 안에서 어떤 값도 취할 수 있는 실수형 데이터 ex) 온도, 키, 풍속, 운임료 이산형 : 횟수 같은 정수형 데이터 ex) 사건 발생 빈도수, 방 개수, 부모자식 수 범주형 데이터 : 가능한 범주안의 값만 취할 수 있는 데이터 명목형 : 성별(남, 여), 전공(경영정보학, 인문학, 사회학 등), 장르(스릴러, 로맨스, 공포 등) 순서형 : 영화평점(1, 2, 3, 4, 5), 직급(사원, 대리, 과장, 차장, 부장) # pandas, numpy import, google c..

google colab - drive mount
2022. 8. 29. 15:47
개발/공부 자료
from google.colab import drive drive.mount("/content/drive/") 2줄의 코드면 가능하지만 이거 하나 누르면 끝

#08 Pandas basic
2022. 8. 29. 15:45
개발/Python
Pandas 파이썬에서 데이터를 쉽게 다룰 수 있는 라이브러리 2차원 형태의 데이터에 대해 집계하거나, 전처리 등을 아주 쉽게 할 수 있음 정형데이터를 다루는 라이브러리 Pandas의 데이터 구조 Dataframe : 2차원 구조로 되어있는(행렬) 데이터 Series : 1차원 구조로 되어있는(열) 한 종류의 데이터 Series가 여러개 모이면 => Dataframe import pandas as pd # 일반적으로 pandas 와 numpy는 같이 사용 import numpy as np Dataframe 만들기 행렬 구조의 list를 dataframe으로 변환 data = [ ["A군", 30, 170], ["B군", 25, 180] ] df = pd.DataFrame(data, columns = ["..
리스트에서 맞닿아 있는 값을 비교
2022. 8. 28. 23:16
개발/복기
import numpy as np from queue import Queue def solution(board, moves): board = np.array(board).T.tolist() # 전치시킨 후 리스트로 만듬 result = [] count = 0 # 결과 리스트에 뽑은 인형들 담기 for m in range(len(moves)): for i in range(len(board)): if board[moves[m]-1][i] != 0: result.append(board[moves[m] - 1].pop(i)) board[moves[m] - 1].insert(i, 0) # 결과 리스트에서 뽑은 인형 중 같은 인형 터뜨려 없애기 if len(result) > 1: if result[-1] == re..
3행 2열의 array에서 열 위치 치환
2022. 8. 25. 17:43
개발/복기
문제. 다음의 3행 2열형태의 배열에서 두개 열 위치를 바꾸시오 np.random.seed(42) arr = np.random.randint(50,100,[3,2]) arr >>> array([[88, 78], [64, 92], [57, 70]]) arr[:,[1,0]] >>> array([[78, 88], [92, 64], [70, 57]]) np.random.seed(42) arr = np.random.randint(50,100,[3,3]) arr >>> array([[88, 78, 64], [92, 57, 70], [88, 68, 72]]) # 여기서 [2,0,1]는 arr의 열 재배열 순서 arr[:,[2,0,1]] >>> array([[64, 88, 78], [70, 92, 57], [72, 8..