파이썬(Python)

파이썬(python) 데이터분석 라이브러리[2] : pandas - date_range(), dropna(), fillna(), isnull(), drop()

알통몬_ 2018. 1. 20. 10:00
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 


이번 포스팅에서는 DataFrame을 여러가지 방법으로 조작해보도록 하겠습니다.


pandas 를 이용해 읽어들인 DataSet 파일에 NaN 형태의 빠진 값(missing value)이나, 

정상 범주에서 벗어난 값(이상치)이 얼마든지 존재할 수 있습니다.


이런 값들을 제거하거나 다른 값으로 수정하는 방법에 대해 공부하겠습니다.


패키지 임포트 + 크기가 (5,3)인 DataFrame 생성 및 인덱스와 컬럼 값 설정

In[7] : date_range()는 pandas 에서 제공하는 dateTime 과 관련된 기능입니다.

첫 번째 인자에는 문자열 타입의 시작할 날짜를 넣어주고, periods=a 는

시작 날짜를 포함해 몇일을 할거냐는 겁니다.

이미 만들어진 DataFrame에 In[10] 처럼 열을 추가할 수도 있습니다.

dropna 라는 함수를 이용하면, 행에 NaN이 포함되어 있거나, 행의 모든 값이

NaN일 경우에만 제거할 수 있습니다.

df.dropna(how="any") 는 해당 DataFrame의 행을 검사해서 각 행에서 열을 검사하고,

NaN값이 하나라도 있으면 제거합니다.

df.dropna(how="all") 은 해당 DataFrame의 행을 검사해서 각 행에서 열을 검사하고,

모든 열의 값이 NaN값이면 행을 제거합니다.

fillna(value=intValue) 는 성분 값이 NaN인 것들의 값을 intValue로 변경해줍니다.

isnul()는 boolean 마스크를 만들 때 사용합니다.

특정 행이나 복수 개의 행을 삭제할 때 pd.to_datetime("날짜포멧")을 사용할 수도 있습니다.

위에서 dataFrame을 만들 때 열을 날짜로 만들었었죠.

df.drop(pd.to_datetime("열의 날짜")) 를 실행하면,

2018-01-01 행이 삭제 된 것을 확인할 수 있습니다.

복수 개의 열을 삭제하고 싶을 때는 df.drop(["",""]) 처럼 리스트 형태로 넣어주면 됩니다.


drop() 의 경우 기본 값으로 행의 인덱스를 받기 때문에

열을 기준으로 삭제하고 싶을 경우 axis=1 값을 추가해주어야 합니다.


별로 어렵지 않죠?

다음 포스팅에서는 DataFrame 데이터 분석용 함수에 대해 공부합니다.

반응형