Pandas란?
판다스는 데이터 분석을 위한 파이썬 라이브러리
1) Numpy 기반으로 만들어져 있음
2) 판다스에도 두가지 자료 구조 제공 (시리드, 데이터 프레임)
데이터는 보통 테이블 형태로 저장됨
시리즈(Series) : 하나의 컬럼 ( 일차원 ) 을 저장 하는 개념 이런 시리즈가 여러개가 모이면 이차원 데이터가 됨.
이런 이차원 데이터를 다루는 자료구조가 “데이터프레임”
판다스 임포트 방식 여러가지가 있음 크게 주로 두가지
from pandas import Series, DataFrame
--> Series()
import pandas as pd
--> pd.series()
- 판다스라는 모듈 혹은 퍄키지에서 series,dataframe 을 사용하겠다 (클래스이름 바로 사용 가능)
- Import pandas 라면 모듈.클래스() 이랗게 불러야됨
Series 객체 생성
numpy에서 ndarray를 만드는것과 비슷
from pandas import Series
arr = [0,1,2,3] # 표현하고 싶은 데이터를 파이썬리스트에 저장.
# 저장된 파이썬 리스트를(arr) Series 클래스의 생성자를 호출해서(Series) Series 타입의 객채를 생성하는 것 (s)
# Series 클래스의 객체를 생성한다. 객체를 생성할때 생성자의 인자값으로 파이썬 리스트(arr)를 넘겨주면
#시리즈 클래스타입의 객체가 생성되고 그 객체를 왼쪽에 있는 변수(s)가 바인딩 하게 되는 개념
s = Series(arr)
print(s)
* 참고 *
> Shift + Tab = Series()에서 사용 가능한 인자값을 확인 가능
- value 0,1,2,3이 잘 저장되었음을 볼 수 있음
- pandas.core.series에 있는 Series 타입 사용
- 표현하고 싶은 데이터를 파이썬 데이터구조로 먼저 생성한 후
- Series() 타입에 해당 데이터를 인자값으로 넘겨주면 됨
Series 내부 구조 (1/2)
- 행 번호와 인덱스를 사용해서 데이터를 관리
- 자동으로 부여되는 (수정 X) 행 번호
- 인덱스는 문자 혹은 숫자로 설정 가능
- 설정하지 않으면 0부터 시작하는 정수로 자동 할당 됨
In :
data = [ 00, 200, 300]
s = Series(data)
print( s)
Out :
0 100
1 200
2 300
dtype : int64
- 데이터에 100,200,300이 저장이 되고
- 딕셔너리처럼 0,1,2 인덱스가 붙게됨. 이 인덱스를 통해 대응되는 데이터 값을 가져올 수 있음
- 만약 인덱스를 우리가 지정하지 않으면 기본적으로 0으로 시작하는 정수 인덱스가 붙게 됨
- 이 인덱스와 별도로 행 번호가 존재하게 됨 (행번호는 공식적인 용어 X)
- print를 하게 되면 인덱스와 데이터만 출력이 됨.
Series 내부구조 (2/2)
- Series 생성 시 Index를 지정할 수 있음
- 딕셔너리의 키(key)와 유사한 개념
In :
data = [100, 200,300]
index = ["월","화","수"]
s = Series(data,index)
print(s)
Out :
월 100
화 200
수 300
dtype : int64
- 데이터에 접근할 때 행 번호를 통해 접근할 수도 있고 우리가 할당한 인덱스를 토해 접근할 수도 있음.
- Q. 그럼 왜 이렇게 두가지 방법을 쓰나?
- 2월 .2일이라는 인덱스가 있고, 마지막엔 2월 28일이라는 인덱스가 존재한다고 가정해보자
- 만약 우리가 2월의 마지막날의 인덱스를 가지고 오고 싶음.
- 하지만 우리는 2월의 마지막날이 28일지 29일지 모르는 상황.
- 그럼 행번호를 통해 -1번(가장 끝에 있는 행번호) 으로 마지막 데이터를 가지고 올 수 있음
- 즉 어쩔땐 행번호가 편할때가 있고 어떨땐 인덱스가 편할 수 있음
- 이 두가지를 모두 지원하는게 Series 임.
Series의 속성
속성 = 클래스 내부에 있는 변수를 의미함.
- Series 클래스의 속성
- 1) index
- 2) value
data = [100,200,300]
index = [0,1,2]
s = Series(data,index)
# s라는 변수가 Series 객체를 바인딩 하는 상황
print(s.index) #s.index는 해당 s에서 index 변수(속성)에 접근하는것
print(s.data)
연습문제
- 다음 데이터를 판다스 시리즈(Series)객체로 생성하세요
Series Series
index | valuse |
메로나 | 500 |
누가바 | 800 |
빠삐코 | 200 |
정답
반응형
'STUDY > AI Modeling' 카테고리의 다른 글
[Python]Numpy 넘파이 라이브러리 & 2차원 그래프 그려보기 (0) | 2024.09.04 |
---|---|
[Anaconda] 아나콘다 - 윈도우에서 파이썬 가상환경 만들기 (feat. 파이썬 버전 알아보기) (1) | 2024.09.02 |
[Python] 아나콘다(Anaconda)에서 주피터 노트북 실행시키기 (2) | 2024.09.02 |
[Python] 아나콘다(Anaconda) 다운로드 및 설치하기 (AI, 머신러닝) (1) | 2024.09.02 |