[Pandas] Series

Ethan·2022년 5월 22일
0
post-custom-banner

Pandas는 numpy와 함께 가장 자주 쓰이는 파이썬 라이브러리 중 하나이다.
(애초에 numpy 기반으로 개발되기도 했고)

보통 넘파이와 연동하여 구조화된 데이터를 처리하는 데 사용한다.

판다스의 주요 기능

  • numpy 연동
  • 축의 이름에 따라 데이터를 정렬할 수 있는 자료 구조
  • 다양한 방식으로 인덱싱(indexing)하여 데이터를 다룰 수 있음
  • 통합된 시계열 기능
  • 시계열 데이터와 비시계열 데이터를 함께 다룰 수 있는 통합 자료 구조
  • 누락된 데이터 처리 기능
  • 데이터베이스처럼 데이터를 합치고 관계 연산을 수행하는 기능

공식 Docs는 아래 링크에서 확인할 수 있다.

Pandas Doc | https://pandas.pydata.org/pandas-docs/stable/


Series

  • Series는 일련의 객체를 담을 수 있는 1차원 배열과 유사한 구조의 자료형이다.
  • ndarray, list, dict, tuple 등을 통해 Series 객체를 생성할 수 있다.
import pandas as pd
ser = pd.Series(['a','b','c',3])
ser
>>> 0    a
	1    b
	2    c
	3    3
	dtype: object
  • Series 객체에서 인덱스를 호출하면 array 형태로 값이 반환된다.
    반대로 value를 호출하면 정수형 인덱스인 RangeIndex 가 반환된다.
ser.index
>>> RangeIndex(start=0, stop=4, step=1)

ser.values
>>> array(['a', 'b', 'c', 3], dtype=object)
  • Series 객체는 기본적으로 정수형 인덱스를 갖지만,
    인자를 추가하거나 할당 연산자를 통해 인덱스의 값을 지정할 수 있다.
    이 경우 인덱스의 자료형은 값에 따라 변경된다.
# 패러미터 지정
ser2 = pd.Series(['a', 'b', 'c', 3], index=['i','j','k','h'])
ser2
>>> i    a
  	j    b
	k    c
	h    3
	dtype: object

# 할당 연산자 사용
ser2.index = ['John', 'Steve', 'Jack', 'Bob']
ser2
>>> John     a
	Steve    b
	Jack     c
	Bob      3
	dtype: object
    
ser2.index
>>> Index(['Jhon', 'Steve', 'Jack', 'Bob'], dtype='object')
  • dict 타입의 데이터도 인덱스로 사용할 수 있다.
    이 경우 Series 객체의 인덱스를 key로 사용할 수 있다.
Country_PhoneNumber = {'Korea': 82, 'America': 1, 'Swiss': 41, 'Italy': 39, 'Japan': 81, 'China': 86, 'Rusia': 7}
ser3 = pd.Series(Country_PhoneNumber)
ser3
>>> Korea      82
	America     1
	Swiss      41
	Italy      39
	Japan      81
	China      86
	Rusia       7
	dtype: int64
    
ser3['Korea']
>>> 82

ser3['Italy':]
>>> Italy    39
    Japan    81
    China    86
    Rusia     7
	dtype: int64
  • Series 객체와 인덱스는 name 속성을 가지고 있다.
ser3.name = 'Country_PhoneNumber'
ser3.index.name = 'Country_Name'
ser3
>>> Country_Name
    Korea      82
    America     1
    Swiss      41
    Italy      39
    Japan      81
    China      86
    Rusia       7
	Name: Country_PhoneNumber, dtype: int64
profile
재미있게 살고 싶은 대학원생
post-custom-banner

0개의 댓글