pandas
기본구조
시리즈(Series)
1차원 데이터를 다룰 수 있는 기본적인 자료구조. 인덱스(Index)를 통해 원하는 인덱스를 직접 지정할 수 있다. 인덱스를 지정하지 않으면 자동으로 0부터 시작하는 정수형 인덱스를 할당한다. 인덱스와 데이터 값(Value)이 쌍으로 구성된다.
기본 인덱스 예시↓
출력↓
#리스트처럼 인덱스를 사용해 데이터를 접근할 수 있다.
#배열처럼 index 범위를 지정해 특정 구간의 데이터를 가져올 수 있다.
#numpy 처럼 수학 연산을 쉽게 할 수 있다. 각 요소에 대해 연산이 적용됨.
#누락된 데이터를 처리하는 데 강력함. 결측값은 기본적으로 NaN(Not A Number)으로 처리됨
일반적으로 시리즈는 내부적으로 모든 값들은 같은 데이터타입을 공유. 하나하나의 데이터 타입을 모두 맞춘다는 게 아니라 시리즈가 데이터 타입을 모두 수용할 수 있는 형태로 바꿔주는 것.
딕셔너리 형태로 전달할 때는 각각의 리스트의 길이가 같아야 한다
데이터 프레임(DataFrame)
판다스에서 사용되는 가장 중요한 데이터 구조 중 하나이다. 우리가 공부할 때 노트에 정보를 정리하고, 각 정보를 표의 칸에 적어놓는 것처럼 데이터프레임은 컴퓨터로 정보를 정리하고 저장하는 도구이다. 데이터프레임은 행(가로줄)과 열(세로줄)로 이루어져 있어서, 이것을 사용하면 정보를 쉽게 정리하고 찾을 수 있다. 2차원의 표 형테 데이터 구조이다. 인덱스와 컬럼명을 사용해 특정 데이터에 접근할 수 있다.
기본적으로 pandas는 데이터 프레임을 생성할 때는 자동으로 정수형 index를 할당한다.
하지만 특정 열을 index로 설정하거나 기존의 index를 변경할 수도 있다. index는 데이터의 접근을 편리하게 만들어준다.
딕셔너리를 사용한 DataFrame 생성 예시↓
시리즈와 데이터 프레임의 차이점 및 공통점
차이점
- 시리즈는 1차원, 데이터 프레임은 2차원이다.
- 시리즈는 하나의 데이터 타입, 데이터 프레임은 다양한 데이터 타입을 허용한다.( 시리즈 자체의 데이터 타입을 말하는 것이다. 시리즈 내부에 속한 데이터는 타입이 각각 다르다.)
공통점
- 둘 다 인덱스를 가지고 있어 데이터에 쉽게 접근 가능하다.
- 판다스에서 가장 기본적인 데이터 구조이다.
index : 시리즈나 데이터 프레임에 각 값을 고유하게 숙별해주는 레이블. 사용자가 지정 가능.
☆데이터 프레임의 각 열은 시리즈이다.
☆데이터 프레임의 열을 선택할 때 문자열을 사용하면 시리즈가 반환된다.(단일 열을 선택할때는 시리즈가 나온다. 하지만 여러개의 열을 선택할때는 일반적으로 데이터프레임이 반환된다. 괄호 안에 뭘 지정한다고 항상 시리즈가 나오는 건 아니다.)
☆중복된 인덱스가 있을 때는 시리즈가 복잡해질 수 있으니, 유일한 인덱스를 사용하는 것이 좋다.
inplace : 현재 접근하고 있는 데이터 프레임 객체 값을 직접 바뀌게 해줌. inplace를 사용하지 않으면 값을 다시 저장해 줘야함.
inplace = False (저장 안 함)
inplace = True (저장함)
(구글링을 해봤더니 사용하지 말라는 글이 간간히 보였다. 아무래도 이 함수에 오점이 있는것 같다. 더 나은 개발자를 목표로 하려면 쓰지 않는게 나은 선택같기도 하다.)
'Coding > TIL & 배운것들' 카테고리의 다른 글
map()함수 (0) | 2024.10.10 |
---|---|
피보나치 수열 (1) | 2024.10.10 |
객체와 클래스, 상속 (2) | 2024.10.07 |
함수 & 모듈 (0) | 2024.10.06 |
TIL 나의 일지 10/4 ♬ (0) | 2024.10.04 |