데이터프레임은 판다스의 핵심 자료 구조로 행과 열로 구성된 2차원 데이터 구조이고, 다양한 데이터 타입을 허용한다. 시리즈는 데이터프레임의 구성요소 중 하나로 하나의 열을 나타내는 1차원 구조다. 인덱스와 데이터 값이 쌍으로 구성되며 하나의 데이터 타입을 허용한다. 여러 개의 시리즈가 모여서 데이터프레임이 되는 것이다. 이 둘은 모두 인덱스를 가진다.
Numpy는 ndarray와 배열을 효율적으로 처리할 수 있는 다양한 함수들을 제공하며, 데이터분석·머신러닝 ·딥러닝에서 기초가 되는 라이브러리로, 판다스와 함께 자주 사용된다. Numpy 배열에서는 반복문 없이 벡터화 연산으로 연산이 용이하다. 배열 간의 기본 연산은 모두 요소별로 수행된다. 인덱싱을 통해 배열의 특정 위치에 접근할 수 있고, 슬라이싱을 통해 배열의 일부분을 잘라낼 수 있다. 브로드캐스팅으로 서로 다른 크기의 배열 간에 연산이 가능하게 한다.
판다스에서는 CSV, Excel, JSON 파일을 불러오고 저장할 수 있으며, SQL 데이터베이스에도 저장할 수 있다.
head() 함수로 상위 데이터를, tail() 함수로 하위 데이터를 볼 수 있다. info() 함수로 데이터프레임의 요약 정보를, describe() 함수로 숫자형 데이터에 대한 주요 통계 정보를 확인할 수 있다. 데이터프레임의 개별 데이터를 확인할 때는 loc[]과 iloc[]을 사용할 수 있다. loc[]은 라벨 인덱스로, iloc[]은 정수 인덱스로 행을 선택한다.
조건을 사용해 필터링할 수 있다. (AND)&, (OR)| 연산자로 여러 조건을 결합할 수 있으며, isin()을 사용해 특정 값들이 포함된 행을 필터링할 수 있고, ~ 연산자로 특정 조건을 부정하는 데이터를 필터링할 수 있다. 또 dtype으로 데이터 타입을 확인하고, astype()으로 데이터 타입을 변환할 수 있다. 카테고리 데이터로 변환하면 메모리를 절약하고 성능을 높일 수 있다. sort_values()로 특정 열의 값을 기준으로 데이터를 정렬할 수 있는데, 기본값은 오름차순이다. sort_index()를 사용해 인덱스를 기준으로 정렬할 수 있다. 마찬가지로 기본값은 오름차순이고, 내림차순 정렬하려면 ascending=False를 지정하면 된다.
강의 외부에서 추가로 알게된 내용
- 슬라이싱할 때 끝점이 포함되는 경우
- pandas.DataFrame.loc
- Python 3.11 range(inclusive=True). Python 2에서는 xrange()가 끝점을 포함하는 기능을 했다.
- SymPy.Interval. SymPy는 수학적 표현을 다루는 라이브러리로, Interval 객체를 사용해 끝점을 포함할 수 있다.
- R 언어에서는 기본적으로 슬라이싱 시 끝점이 포함된다.
- SQL에서 사용하는 BETWEEN 연산자는 범위 지정 시 끝점을 포함한.
'AI 부트캠프 > 챕터2(10.14~11.08)' 카테고리의 다른 글
WIL 3 (0) | 2024.10.18 |
---|---|
TIL 16 머신러닝 (0) | 2024.10.18 |
TIL 15 실무에 바로 쓰는 바닥부터 시작하는 머신러닝 (0) | 2024.10.17 |
TIL 14 코드카타 (0) | 2024.10.16 |
TIL 13 파이썬 라이브러리 복습 & 머신러닝 (0) | 2024.10.15 |