안녕하세요 jay입니다.
오늘은 파이썬 대표 라이브러리인 Pandas의 데이터 타입 중 하나인
Series에 대해 알아보도록 하겠습니다.
1. Series 정의
Series는 list와 dictionary의 장점을 섞어 놓은 자료구조입니다.
1차원 배열 형태이며, index와 value를 가지고 있습니다.
index : value를 선택할 때 주소 역할을 하는 배열(값이 모두 달라야합니다.)
value : 데이터 부분에 해당하는 배열
Series는 list와 dictionary의 장점을 섞어 놓은 자료구조입니다.
1차원 배열 형태이며, index와 value를 가지고 있습니다.
index : value를 선택할 때 주소 역할을 하는 배열(값이 모두 달라야합니다.)
value : 데이터 부분에 해당하는 배열
2. Series 생성
Series를 생성하는 법은 크게 list로 만들기, dictionary로 만들기, numpy array로 만들기
3가지 방법이 있습니다. 아래 예시를 보면서 확인해보겠습니다.
Series를 생성하는 법은 크게 list로 만들기, dictionary로 만들기, numpy array로 만들기
3가지 방법이 있습니다. 아래 예시를 보면서 확인해보겠습니다.
# Series : list와 dictionary의 장점을 섞어 놓은 자료구조 # 1차원 배열 형태 # index : value를 선택할 때 주소 역할을 하는 배열(값이 모두 달라야함) # value : 데이터 부분에 해당하는 배열 # list로 Series 만들기 # value만 import pandas as pd import numpy as np score = [10,20,30,40,50] s = pd.Series(score) print(s) """ 0 10 1 20 2 30 3 40 4 50 dtype: int64 """ # list로 Series 만들기2 # index + value names = ['Jung','Kim','Lee'] score = [100,80,90] s2 = pd.Series(score, index = names) print(s2) """ Jung 100 Kim 80 Lee 90 dtype: int64 """ # dictionary로 Series 만들기 # dictionary의 key가 Series의 index # dictionary의 value가 Series의 value가 됨 dic = {'SHIN' : 77, 'KIM': 100, "LEE" : 85} s3 = pd.Series(dic) print(s3) """ SHIN 77 KIM 100 LEE 85 dtype: int64 """ # numpy array로 Series 만들기 # index와, value를 각각 만들어야함 name = np.array(["KIM","LEE","JUNG"]) score = np.array([80,60,77]) s4 = pd.Series(score , index = name) print(s4) """ KIM 80 LEE 60 JUNG 77 dtype: int64 """
1) List로 Series만들기 : list로 Series를 생성할 때, value만 혹은 index, value 둘다 가진 Series를 만들 수 있다.
2) Dictionary로 만들기 : dictionary의 key가 index이고, dictionary의 value가 Series의 value이다.
3) numpy array로 만들기 : numpy array도 list와 마찬가지로, Series를 생성할 때, value만 혹은 index, value 둘다 가진 Series를 만들 수 있다.
2) Dictionary로 만들기 : dictionary의 key가 index이고, dictionary의 value가 Series의 value이다.
3) numpy array로 만들기 : numpy array도 list와 마찬가지로, Series를 생성할 때, value만 혹은 index, value 둘다 가진 Series를 만들 수 있다.
3. Series 연산
Series간 사칙 연산이 가능하다. 그리고 인덱스가 있는 Series이면, 인덱스 기준으로 사칙연산을 한다.
즉 Series의 인덱스는 단지 key역할만 하고, values만 연산에 관여한다는 것을 알 수 있다.
Series간 사칙 연산이 가능하다. 그리고 인덱스가 있는 Series이면, 인덱스 기준으로 사칙연산을 한다.
즉 Series의 인덱스는 단지 key역할만 하고, values만 연산에 관여한다는 것을 알 수 있다.
# Series의 산술 연산 # Series간 덧셈 : 순서와 상관없이 같은 index명을 갖는 값끼리 더함 # values만 연산에 관여 # index가 같은 값끼리 연산 수행 import pandas as pd import numpy as np name1 = np.array(["KIM","LEE","JUNG","SHIN","OH"]) score1 = np.array([50,30,20,80,70]) s1 = pd.Series(score1, index=name1) print(s1) """ KIM 50 LEE 30 JUNG 20 SHIN 80 OH 70 dtype: int64 """ name2 = np.array(["LEE","KIM","OH","JUNG","SHIN"]) score2 = np.array([40,80,60,90,50]) s2 = pd.Series(score2, index=name2) print(s2) """ LEE 40 KIM 80 OH 60 JUNG 90 SHIN 50 dtype: int64 """ # 일반 연산 예제 print(s1 * 2) """ KIM 100 LEE 60 JUNG 40 SHIN 160 OH 140 dtype: int64 """ print(s1+s2) # 인덱스 끼리 더해짐 """ JUNG 110 KIM 130 LEE 70 OH 130 SHIN 130 """
댓글
댓글 쓰기