공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
이번 포스팅에서는 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 데이터 분석용 함수에 대해 공부합니다.
'파이썬(Python)' 카테고리의 다른 글
파이썬(python) 데이터분석 라이브러리[2] : pandas - 간단한 데이터 분석 해보기 (0) | 2018.01.22 |
---|---|
파이썬(python) 데이터분석 라이브러리[2] : pandas - 데이터 분석용 함수들 (1) | 2018.01.22 |
파이썬(python) 데이터분석 라이브러리[2] : pandas - DataFrame 인덱싱 (2) | 2018.01.19 |
파이썬(python) 데이터분석 라이브러리[2] : pandas - Series 와 DataFrame 알아보기 (0) | 2018.01.19 |
파이썬(python) 데이터분석 라이브러리[1] : numpy 로 간단한 데이터 분석 해보기 (feat. MovieLens) (1) | 2018.01.19 |