본문 바로가기

Pandas

(165)
판다스 - 누락데이터 처리 : interpolate interpolate 메서드는 누락값 양쪽에 있는 값을 이용해 중간값을 구한 다음 누락값을 그 중간값으로 처리 데이터프레임이 일정한 간격을 유지하고 있는 것처럼 수정 가능 데이터 불러오기 에볼라 바이러스의 데이터 일부를 변경하여 가져왔다. 중간에 누락값이 있기 때문에 이를 시각화하면 위처럼 중간에 값이 끊겨있음을 확인할 수 있다. 이때 사용하는 것이 interplolate다. Guinea열의 12월 27일 값을 보면 원래는 누락값이었지만 2769와 2730의 합을 해서 2로 나눈 값인 2749.5가 나왔다. 이제 다시 eb_filled로 시각화를 해보면 잘 연결된 것처럼 수정할 수 있게 됐다.
판다스 - 원핫인코딩 : get_dummies 범주형 데이터는 연산이 어렵기 때문에 숫자형으로 처리 가능하게 바꿔주는 것 범주형 데이터의 각 범주(category)를 컬럼 레벨로 변경 해당 범주에 해당하면 1로, 아니면 0으로 채우는 인코딩 기법 pd.get_dummies(데이터프레임, columns=[컬럼명, ...,]) 데이터 불러오기 위 데이터프레임에서 Pclass와 성별 컬럼을 원핫인코딩을 해보자 1. Pclass 우선 Pclass에는 1, 2, 3의 값만 있다. 즉 3개의 컬럼이 추가될 것이고, 해당 값이 있는 행에는 1을 넣어준다. pd.get_dummies를 이용하니 기존의 Pclass 컬럼은 사라졌다. 0번행은 Pclass가 3이었으니 Pclass_3 컬럼에만 1이 있고 Pclass_2, Pclass_1 컬럼에는 0만 있다. drop_..
판다스 - 나이를 나이대로 범주화(카테고리화)하기 https://steadiness-193.tistory.com/96 판다스 - 누락데이터를 그룹별로 대체하여 컬럼 만들기 (insert, groupby, transform, fillna) 데이터 불러오기 타이타닉의 train 데이터셋을 받아왔다. https://steadiness-193.tistory.com/14 판다스 - 누락 데이터 확인(isnull(), count_nonzero()) 타이타닉 데이터 불러오기 deck 컬럼의 경우 전체 891개.. steadiness-193.tistory.com 위 포스팅에서 나이 컬럼의 누락데이터를 Survived와 성별로 그룹화한 평균값으로 대체했다. 위 데이터를 불러와서 범주화를 진행해보자 전체 데이터 이제 이 train 데이터프레임에서 Age_filled를 이..
판다스 - 컬럼(열 or 변수)간 상관계수 : corr corr함수를 통해 상관계수 연산 (-1, 1 사이의 결과) ㅇ 변수와 상관관계 : 변수간 흐름이 얼마나 비슷한가를 나타내는 척도 - a가 증가하면 b도 증가하냐/감소하냐 - 증가의 성향이 얼마나 비슷한가 ㅇ 1에 가까울 수록 두개가 비슷하게 증가 ㅇ -1에 가까울 수록 하나 증가/ 하나 감소 ㅇ 0에 가까울수록 두개간 관계가 없다 ㅇ 연속성(숫자형)데이터에 대해서만 연산 ㅇ 인과관계를 의미할 수도 아닐 수도 있음 데이터 불러오기 correlation을 뜻하는 corr함수를 이용하면 각 컬럼간의 양상을 확인할 수 있다. 당연하게도 우측하향 대각선은 1의 값을 가진다. 이를 숫자로만 보면 파악하기 어려우니 시각화를 해보자 1. plt.matshow() matplotlib.pyplot을 이용해서 아주 간단하..
판다스 - 누락데이터를 그룹별로 대체하여 컬럼(열) 만들기 : insert, groupby, transform, fillna 데이터 불러오기 타이타닉의 train 데이터셋을 받아왔다. https://steadiness-193.tistory.com/14 판다스 - 누락 데이터 확인(isnull(), count_nonzero()) 타이타닉 데이터 불러오기 deck 컬럼의 경우 전체 891개의 행 중 203개의 행만 값이 채워진 것을 볼 수 있다. value_counts()로 누락값 개수 확인하기 누락데이터의 개수를 확인하고자 하면 value_counts에 steadiness-193.tistory.com 위 포스팅 내용을 이용해 각 컬럼별 누락값을 살펴보면 총 3컬럼에서 누락값이 있는 것을 확인할 수 있다. 그 중 Age 컬럼을 채우는 방법을 살펴보자 사실 그냥 Age컬럼의 평균값으로 누락값을 채워도 되지만 이는 위험할 수도 있다...
판다스 - 원하는 위치에 조건에 맞는 컬럼(열) 추가 : insert 응용 데이터프레임.insert(원하는 컬럼의 위치, 새롭게 들어갈 컬럼의 이름, 조건) - 컬럼의 위치는 0부터 시작 - 조건을 변수에 넣어서도 이용 가능 데이터 불러오기 위 컬럼들의 자료형을 보자 마력은 숫자로 구성된 것 같은데 자료형이 object이다. 이를 파악하기 위해 unique 메서드로 살펴보자 숫자들 사이에 ?라는 값이 있어 object형으로 표시된 것이다. [목표 : horsepower 컬럼 옆에 자료형이 float인 horsepower 사본 컬럼 추가] https://steadiness-193.tistory.com/18 판다스 - 자료형 변환 (astype, pd.to_numeric) 데이터 불러오기 문제가 있는 열은 total_bill로서, [1, 3, 5, 7]행은 missing이라는 문자..
판다스 - 원하는 위치에 컬럼(열) 추가 : insert 데이터프레임.insert(원하는 컬럼의 위치, 새롭게 들어갈 컬럼의 이름, 조건) - 컬럼의 위치는 0부터 시작 - 조건을 변수에 넣어서도 이용 가능 데이터 불러오기 [목표 : weight 컬럼 옆에 weight 컬럼을 정규화한 컬럼을 추가] 우선 무게 컬럼의 최대값으로 각 값들을 나눠주자 최대값은 5140이며 이를 이용해 weight 컬럼을 나눠주면 정규화된 시리즈를 얻을 수 있다. 보통 컬럼을 추가하면 기존 데이터프레임의 맨 끝에 붙지만 지금은 insert를 이용해보자 6번째 컬럼 위치에 weight_norm이라는 이름의 컬럼을 추가 했고 이는 정규화된 값들이다. -----------------------------------------------------------------------------..
판다스 - 여러 대용량 데이터 처리하기 : os.listdir https://steadiness-193.tistory.com/27 판다스 - 여러 대용량 데이터 처리하기 (glob) 이 다섯개의 csv 파일을 불러와 한꺼번에 보고자 한다. glob 라이브러리, glob 메서드 이용 glob 라이브러리의 glob메서드는 특정한 패턴의 이름을 가진 파일을 한번에 읽어들일 수 있다. 방법1. 하나�� steadiness-193.tistory.com 여러 대용량 데이터를 한꺼번에 모아서 여는 방법은 위 포스팅의 glob 말고도 os 라이브러리를 이용하는 방법도 있다. data 폴더 안의 파일들 위 파일들 중 fhv로 시작하는 뉴욕 택시 데이터들만 불러와서 한꺼번에 보고자 한다. import os os.listdir 사용 data 폴더에 있는 모든 파일을 다 읽어올 수 있다..