Pandas 의 장점
- Allows the use of labels for rows and columns
- 기본적인 통계데이터 제공
- NaN values 를 알아서 처리함.
- 숫자 문자열을 알아서 로드함.
- 데이터셋들을 merge 할 수 있음.
- It integrates with NumPy and Matplotlib
# 파이썬의 라이브러리
# 판다스는 넘파이를 확장해서 만든 데이터 스트렉쳐 / numpy는 기계 친화적 (숫자로 구성됨)
# 판다스는 넘파이를 포함하고 있다
< Pandas Series 데이터 생성하기 >
import pandas as pd
index = ['eggs', 'apples', 'milk', 'bread']
data = [30, 6, 'Yes', 'No']
# numpy에서 1차원 데이터 벡터 2차워 데이터 행렬
# 용어 암기는 필수
# 판다스의 1차원 데이터를 => 시리즈(Serise) 라고 부른다.
# 판다스는 사람 친화적인 라이브러리 이다. / 넘파이는 기계 친화적
# 판다스 1차원 데이터를 만들어 보자
# 대문자로 시작하는 것은 함수가 아니라 클래스 => 함수랑 비슷하지만 착각하면 안됨
# 어제 배운것과 마찬가지로 () 안에 좌측 data는 Series 메모리 안에 속한 data = 우측 data는 상단 메모리에 저장되는 data
pd.Series(data= data)
0 30
1 6
2 Yes
3 No
dtype: object
# 판다스의 1차원 데이터는 세로 형태로 나옴
# 주로 표 형식의 데이터를 다루는 데에 특화되어 있으며, 시계열 데이터나 통계 분석에도 유용하다.
# numpy와 비교해 보자
import numpy as np
np.array(data)
array(['30', '6', 'Yes', 'No'], dtype='<U11')
* numpy의 1차원 배열은 가로 형태로 출력됨
# 판다스 배우기 전까지의 인덱스라는 용어는 : 컴퓨터가 자동으로 매기는 0 부터 시작하는 수
# 판다스에서는 인덱스라는 용어가 따로 존재한다. 이제부터 칭하는 인덱스는, 판다스의 인덱스를 말하는 것!!!
# 컴퓨터가 자동으로 매기는 인데스 vs 판다스의 인덱스 => 구분할줄 알아야 한다.
# 판다스의 인덱스는, 왼쪽에 행부분에 붙어있는 글자(숫자 일수도 있음)
x = pd.Series(data= data)
x
0 30
1 6
2 Yes
3 No
dtype: object
x.index
RangeIndex(start=0, stop=4, step=1)
x.values
array([30, 6, 'Yes', 'No'], dtype=object)
# 판다스의 데이터의 좌측값을 index 우측을 values 라고 칭한다.
# values 값만 호출할 경우 numpy 형태로 출력된다. 즉, pandas > numpy 로 이해하면 된다.
# pandas는 사람이 보기 편하게 가공한것이고, pandas로 데이터를 모두 가공하여 컴퓨터에 학습시킬때는 numpy로 학습 시킨다.
# pandas 는 사람이 보기 좋게 가공한 커뮤니케이션
groceries = pd.Series(data= data, index= index)
groceries
eggs 30
apples 6
milk Yes
bread No
dtype: object
groceries.index
Index(['eggs', 'apples', 'milk', 'bread'], dtype='object')
# 벨류 데이터는 넘파이
groceries.values
array([30, 6, 'Yes', 'No'], dtype=object)
# 차원의 배열 확인
groceries.shape
(4,)
# 몇차원인지 물어보기 (1차원)
groceries.ndim
1
groceries.size
4
groceries.dtype
dtype('O')
ㄴ dtype('O')는 오브젝트를 말하고, 문자열을 뜻함
groceries
eggs 30
apples 6
milk Yes
bread No
dtype: object
# Yes가 groceries 안에 들어있니? => 이럴경우 인덱스에서 찾기 때문에 False가 뜬다.
'Yes' in groceries
False
# 그러므로, values로 지정해서 사용
'Yes' in groceries.values
True
#인덱스에 있는 값은 물어보면 바로 True로 출력됨
'eggs' in groceries
True
다음 게시글에서 계속
'PYTHON LIBRARY > Pandas Library' 카테고리의 다른 글
Python Pandas로 결측치 데이터 처리하기: NaN 처리 isna(), notna(), dropna(), fillna() (0) | 2024.04.11 |
---|---|
Python Pandas 데이터프레임 조작 : 행/열 삭제부터 이름/타입 변경까지 drop() 함수 , rename({}) 함수 (0) | 2024.04.10 |
Python Pandas로 데이터 다루기 : 데이터 액서스 .loc, .iloc 및 기본 인덱싱 방법 (0) | 2024.04.09 |
Python Pandas로 데이터 분석 시작하기 : DataFrame 기초 (0) | 2024.04.09 |
Python Pandas로 데이터 처리하기 : 시리즈의 레이블 접근과 산술 연산 (0) | 2024.04.08 |