1. dataframe에서의 object객체
데이터프레임 관련 연산을 넘파이로 하고나서
df.info()를 해서 각 타입을 확인해보면 데이터가 string이던 float이던간에 object로 바뀐 것을 볼 수 있다.
이는 같은 크기의 메모리 공간을 효율적으로 사용하기 위해서 구성된 넘파이의 계산 방식때문이라고 한다.
따라서 연산 후 특정 dtype이어야한다면, dtype을 다시 재정의해줄 필요가 있다.
예를 들면, .astype(), pd.to_numeric과 같이 다시 해주어야한다는...
또한, object객체가 도저히 나올수 없는 상황인데 나왔다면, 데이터가 이상한 것일 수도 있다. 가령 nan값이 껴있다던가... 확인해서 제거해줘야한다
2. dataframe에서 null값 드랍시에 원하는 갯수보다 훨씬 많은 갯수의 행이 삭제되는 경우
df.drop(df[df[col].isna()].index, axis = 0) 를 하는 도중에 index가 정렬된것이아니라 뒤죽박죽인 경우였는데, 6개가 제거되어야 할 것이 800개가 제거가 되었다.
df.reset_index(drop=True)를 해서 다시해보니 정상대로 6개가 삭제되었다.
위의 원인은 찾을 수 없었으나 이왕 사용할거 정렬된 index가 좋지 않겠나 싶다.
'# Machine Learning > 글 공부' 카테고리의 다른 글
[Ubuntu 16.04] CUDA + Cudnn 설치하기 (3) | 2019.03.04 |
---|---|
superpixel algorithm 이란? (0) | 2019.03.02 |
object detection에서 class-label만 있을 경우 (0) | 2019.02.18 |
Tensorflow 설치 관련 (0) | 2019.01.29 |
FR(face recognition)의 과거부터 현재까지의 동향이 궁금하다면? (0) | 2018.12.26 |