본문 바로가기
Python 파이썬/pandas

pandas ) 자료구조 시리즈 Series

by 하이방가루 2022. 3. 14.
728x90
반응형

시리즈 Series

# 판다스의 시리즈
import pandas as pd

a_series = pd.Series({'a':10,'b':20,'c':30,'d':40, 'e':30}) # 딕셔너리의 키가 인덱스명, 값이 value
print(a_series)
print(type(a_series))

실행결과

a    10
b    20
c    30
d    40
e    30
dtype: int64
<class 'pandas.core.series.Series'>

시리즈의 데이터 선택

# 시리즈의 데이터 선택 : 시리즈명[] -> 인덱스명 또는 인덱스 첨자
print(a_series.index, a_series.values); print()
print(a_series.value_counts()); print() # 값의 종류와 갯수
print(a_series['a'], a_series[0]); print()
print(a_series[[0,2]]); print() # 여러개 선택시 리스트로 선택
print(a_series[0:2]); print() # 숫자로 슬라이싱 start:end -> end미포함
print(a_series['a':'c']); print() # 인덱스명 start:end -> end포함

실행결과

Index(['a', 'b', 'c', 'd', 'e'], dtype='object') [10 20 30 40 30]

30    2
10    1
20    1
40    1
dtype: int64

10 10

a    10
c    30
dtype: int64

a    10
b    20
dtype: int64

a    10
b    20
c    30
dtype: int64

사칙연산 ( 연산자 활용 )

# 시리즈 연산 : 시리즈 + 사칙연산 + 숫자
sr1 = pd.Series({'국어':100, '수학':90, '영어':90})
print(sr1); print()

# 각 점수에 100을 더한 값을 출력
print(sr1+100); print()

# 각 점수에 100을 나눈 값을 출력
print(sr1/100)

실행결과

국어    100
수학     90
영어     90
dtype: int64

국어    200
수학    190
영어    190
dtype: int64

국어    1.0
수학    0.9
영어    0.9
dtype: float64

사칙연사 ( 메소드 활용 )

# 시리즈 + 사칙연산 + 시리즈
sr1 = pd.Series({'국어':100, '수학':90, '영어':90})
sr2 = pd.Series({'영어':100, '국어':90, '수학':90, '과학':90})
print(sr1 + sr2); print()

print(sr1.add(sr2,fill_value=0)) # fill_value에 값을 넣어 NaN해결

실행결과

과학      NaN
국어    190.0
수학    180.0
영어    190.0
dtype: float64

과학     90.0
국어    190.0
수학    180.0
영어    190.0
dtype: float64
728x90
반응형

댓글