본문 바로가기

Pandas/전처리

(22)
판다스 - 데이터 표준화 (단위 환산 : kpl, mpg) 데이터 불러오기 mpg - 갤런당 마일(mile per gallon)을 kpl - 리터당 킬로미터(km/L)단위로 변환 kpl이라는 새로운 열을 추가 mpg_to_kpl == 0.425 즉, mpg에 0.425를 곱해 kpl로 만들겠다. round함수를 이용해 계산한 데이터를 소수점 둘째자리까지 반올림 mpg컬럼과 같이 float64로 잘 추가되었음을 확인
판다스 - 중복 데이터 처리 : duplicated, drop_duplicates 데이터프레임 제작 행의 레코드가 중복되는지 여부확인 위해 duplicated() 메서드 사용 h행과 k 행은 중복 되었음 drop_duplicates() duplicated()메서드에서 True로 확인된 k열이 삭제되었음 c2열과 c3 열 기준으로 중복되었는지 확인 k행(h행과 중복)과 m행(r행과 중복)이 중복되었음 c2, c3열을 기준으로 중복되었던 k와 m행이 삭제되었음 keep='last'를 이용하면 h행과 중복인 k행을 살리고 h행을 삭제 r행과 중복인 m행을 살리고 r행을 삭제
판다스 - 누락 데이터 처리 : dropna, thresh, fillna, idxmax, ffill, bfill 데이터 불러오기 누락값 살펴보기 불린 조건을 '입력된 값의 개수가 전체 행의 개수와 같지 않다'로 설정 즉, age, embarked, deck, embark_town은 누락값이 있다. 시리즈에 cond로 필터링하면 누락값이 있는 컬럼들의 입력값의 개수를 볼 수 있다. dropna, thresh df.dropna(axis=0 or 1, thresh=n) 축을 기준으로 n개 미만 입력되면 그 축을 삭제하겠다. 데이터프레임의 열 개수는 len(df.columns)로 구할 수 있다. thresh가 500일땐 203개만 입력된 deck 컬럼이 삭제되었다. (15 → 14) thresh가 800일땐 714개가 입력된 age컬럼과 203개가 입력된 deck컬럼이 삭제되었다. (15 → 13) dropna, how=..
판다스 - 누락 데이터 확인 : isnull(), count_nonzero() 타이타닉 데이터 불러오기 deck 컬럼의 경우 전체 891개의 행 중 203개의 행만 값이 채워진 것을 볼 수 있다. value_counts()로 누락값 개수 확인하기 누락데이터의 개수를 확인하고자 하면 value_counts에 dropna=False 옵션을 사용해야한다. NaN의 개수가 688개인 것을 볼 수 있다. 개별 컬럼이 아닌 전체 컬럼의 누락개수 확인하기1 df.count()는 각 컬럼별 값이 입력된 개수 df.shape[0]는 전체 행의 개수 따라서 df.shape[0]에서 df.count()를 뺀다면 각 컬럼별 누락값의 개수를 볼 수 있다. 개별 컬럼이 아닌 전체 컬럼의 누락개수 확인하기2 axis=0을 이용하면 한 컬럼씩 위에서 아래로 연산 = 행방향 True = 1 / False = 0..
판다스 - 데이터 연결 : concat 데이터 불러오기 pd.concat([데이터프레임1, 데이터프레임2, ...], axis=0(기본값)) axis=0이 기본값이므로, 위에서 아래방향으로 연결이 됨 기존 데이터프레임의 인덱스도 그대로 유지됨 또한 연결할 데이터프레임간의 컬럼명이 같아야 누락값 없이 연결됨 새 시리즈를 concat 해보기 컬럼명이 다르므로 새로운 열로 추가되며 누락값이 많아짐 새 데이터프레임을 concat 해보기 컬럼명이 같으므로 위, 아래로 잘 연결되었으며 기존 인덱스(0)을 유지함 append로 데이터프레임 연결하기 concat은 한번에 2개 이상의 데이터프레임을 연결할 수 있다. append는 연결할 데이터프레임이 1개라면 이용 가능하다. concat과 ignore_index ignore_index=True를 이용하면 연..
판다스 - 시리즈와 데이터프레임 데이터 처리 데이터 불러오기 dtype('0')는 object를 뜻함 Born컬럼과 Died컬럼은 날짜데이터이기에 자료형을 datetime으로 바꿔줄 필요가 있다. 자료형을 변환한 새로운 시리즈 새 시리즈를 데이터프레임의 새 열로 추가하기 데이터프레임[새로 추가할 열의 이름] = 새 시리즈 * 주의 : 새 시리즈의 길이와 데이터프레임의 길이는 같아야 함 위의 예는 두개의 컬럼을 동시에 추가하는 방법 컬럼간 연산한 시리즈를 다시 열로 추가하기 scientist['Died_dt'] - scientist['Born_dt']를 하면 벡터간 연산이므로 시리즈가 나오게 된다. 이를 또 새로운 컬럼으로 추가하기 위한 작업 얼마나 살았는지에 대한 정보를 컬럼으로 추가하는 것 컬럼 삭제하기 데이터프레임.drop(['컬럼명'], ax..