Index와 columns는 서로 밀접한 관계임을 알 수 있고
issubclass(pd.RangeIndex, pd.Index)
를 통해 True가 나옴으로서 레인지인덱스가 인데스의 하위 클래스임을 알 수 있다.
*내장함수인 subclass는 첫 번째 인수가 두 번째 인수로부터 상속됐는지를 검사한다.
■ 데이터 형식 이해하기
넓은 의미에서 데이터는 연속데이터와 범주데이터로 나눌 수 있다.
연속 데이터는 항상 수치며 키나 몸무게, 급여와 같은 척도의 한 종류를 나타낸다.
연속 데이터는 무한 가지의 값을 가진다. 반면, 범주형 데이터는 이산이고, 한정된 수의 값을 나타내며,
색, 손에 쥔 포커 카드 종류, 시리얼 상표 등이 범주형에 속한다.
공통 데이터 형식 이름 | Numpy/pandas 객체 | pandas 문자열 이름 | 비고 |
Boolean | np.bool | bool | 단일 바이트로 저장 |
Integer | np.int | int |
디폴트는 64비트, Unsigned int도 사용가능 np.uint |
Float | np.float | float | 디폴트는 64비트 |
Complex | np.complex | complex | 데이터 분석에 거의 쓰이지 않음 |
Object | np.object | O, object |
대개 문자열이지만 복수 개의 형식을 가진 열 또는 다른 파이썬 객체 (튜플, 리스트, 딕셔너리 등) 를 포괄 |
Datetime | np.datetime64, pd.Timestamp | datetime64 | 나노초 단위의 정밀도를 가진 특정 시각 |
Timedelta |
np.timedelta64, pd.Timedelta |
timedelta64 | 일부터 나노초 단위의 시간간격 |
Categorical | pd.Categorical | category | pandas에만 있음. 고윳값이 별로 없는 열 객체에 유용 |
get_dtype_counts 메소드를 사용해 각 형식별로 개수를 구할 수 있다.
>>> movie.get_dtype_counts()
float64 13
int64 3
object 12
dtype: int64
동질성 데이터(Homogeneous data)는 모두 같은 데이터 형식을 가진 열을
일컫는 또 다른 용어다. DataFrame 전체로는 서로 다른 열이
서로 다른 이질성 데이터(heterogeneous data)를 가질 수 있다.
객체 데이터 형식은 다른 데이터 형식과 구분된다.
객체 데이터 형식으로 돼 있는 열은 모든 파이썬 객체를 그 값으로 가질 수 있다.
대개 열이 객체 데이터 형식일 경우에는 전체 열이 문자열이다.
그러나 반드시 그렇지는 않고 정수, 불리언, 문자열 심지어 리스트나
딕셔너리 같은 또 다른 복잡한 파이썬 객체일 수도 있다.
객체 데이터 형식은 pandas 가 특정한 단일 형식으로 지정할 수 없는
모든 열을 갖는 포괄적인 데이터 형식이다.
pandas 데이터 형식 대부분은 Numpy로 부터 정의됐다.
이러한 밀접성 덕분에 사용자들은 pandas에 Numpy연산을 쉽게 접목해
사용할 수 있다.
pandas가 점차 확장되고 보편화될수록 문자열을 가진 열에는 무작정 객체 형식을
너무 일반적으로 사용하는 경향이 있다.
'Pandas' 카테고리의 다른 글
Pandas cook book 코드, 예제 다운로드 (0) | 2019.04.28 |
---|