PYTHON LIBRARY/Pandas Library

Python Pandas로 시작하는 데이터 분석 : Series 데이터 생성 pd.Series()

신강희 2024. 4. 8. 17:50
728x90

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

 

다음 게시글에서 계속

반응형