[Pandas 기초] Series에 대한 소개, 사용법, 생성/인덱싱/슬라이싱 예제 코드
Pandas는 데이터 처리와 분석을 위한 파이썬 라이브러리로, 데이터를 다루기 위한 여러 데이터 구조를 제공합니다. Series는 Pandas에서 가장 간단한 데이터 구조 중 하나로, 1차원 배열을 나타냅니다. 이번에는 Pandas의 Series에 대한 소개, Series 생성과 인덱싱, 슬라이싱 예제코드와 함께 사용법에 대해 자세히 살펴보도록 하겠습니다.
Series에 대한 소개
Series는 1차원 배열을 나타내는 Pandas 객체입니다. Series는 값(value)과 인덱스(index)로 구성되어 있습니다. 값은 NumPy 배열이며, 인덱스는 데이터에 레이블을 붙이는 역할을 합니다. 인덱스는 기본적으로 0부터 시작하는 정수형 인덱스를 사용하지만, 문자열이나 기타 데이터 타입도 인덱스로 사용할 수 있습니다.
Series의 특징
Series의 특징은 다음과 같습니다.
- Series는 인덱스를 가지고 있는 1차원 배열입니다.
- 인덱스는 고유한 값이어야 하며, 값에 접근하기 위해서 사용됩니다.
- 값은 동일한 데이터 타입을 가지고 있어야 합니다.
- NumPy 배열과 마찬가지로 벡터화된 연산을 지원합니다.
- 딕셔너리와 유사한 형태를 가지고 있습니다.
Series의 사용법
Series 객체 생성
Series 객체를 생성하는 방법은 다음과 같습니다.
import pandas as pd
# 값(value)만으로 Series 생성
s = pd.Series([1, 3, 5, 7, 9])
print(s)
# 값(value)과 인덱스(index)로 Series 생성
s = pd.Series([1, 3, 5, 7, 9], index=['a', 'b', 'c', 'd', 'e'])
print(s)
# 딕셔너리를 사용하여 Series 생성
d = {'a': 1, 'b': 3, 'c': 5, 'd': 7, 'e': 9}
s = pd.Series(d)
print(s)
위 예제 코드에서 첫 번째 Series는 값만으로 생성되었습니다. 두 번째 Series는 값과 인덱스를 함께 지정하여 생성되었습니다. 세 번째 Series는 딕셔너리를 사용하여 생성되었습니다. 이렇게 생성된 Series는 인덱스와 값으로 이루어진 키-값 쌍으로 표현됩니다.
Series는 또한 다른 데이터 구조와 함께 사용할 수 있습니다. 예를 들어, 두 개의 Series를 더하면 인덱스에 따라 값을 자동으로 더한 새로운 Series가 생성됩니다.
>>> s1 = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
>>> s2 = pd.Series([40, 50, 60], index=['c', 'd', 'e'])
>>> s1 + s2
a NaN
b NaN
c 70.0
d NaN
e NaN
dtype: float64
딕셔너리를 활용한 Series 생성
판다스의 Series를 생성하는 데는 여러가지 방법이 있지만, 그 중에서 파이썬의 딕셔너리를 활용하는 방법이 가장 일반적이고 편리합니다. 딕셔너리를 활용하면 키-값 쌍으로 이루어진 데이터를 쉽게 Series로 변환할 수 있습니다.
다음은 딕셔너리를 활용하여 Series를 생성하는 방법입니다.
import pandas as pd
# 딕셔너리 생성
data = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
# 딕셔너리를 Series로 변환
s = pd.Series(data)
# 출력
print(s)
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
a 1
b 2
c 3
d 4
e 5
dtype: int64
Series의 인덱싱과 슬라이싱
Series의 인덱싱과 슬라이싱은 NumPy 배열과 매우 유사합니다.
# 인덱싱
print(s[0]) # 1
print(s['a']) # 1
# 슬라이싱
print(s[:3]) # a 1\nb 3\nc 5\ndtype: int64
Series의 인덱스를 사용하여 데이터를 조회하거나 조작하는 것이 가능합니다. 예를 들어, 아래의 예제 코드에서는 인덱스를 사용하여 Series에서 값들을 가져오고 있습니다.
>>> import pandas as pd
>>> s = pd.Series([10, 20, 30, 40, 50], index=['a', 'b', 'c', 'd', 'e'])
>>> s
a 10
b 20
c 30
d 40
e 50
dtype: int64
>>> s['a']
10
>>> s[['a', 'c', 'e']]
a 10
c 30
e 50
dtype: int64
>>> s[s > 30]
d 40
e 50
dtype: int64
결론
판다스의 Series는 파이썬에서 일련의 데이터를 다루기에 용이한 자료형입니다. 딕셔너리를 활용하여 쉽게 생성할 수 있으며, 다양한 메서드와 속성을 활용하여 데이터 처리와 분석을 수행할 수 있습니다. Series를 적극 활용하여 데이터를 다루면 코드의 가독성이 향상되며, 빠르고 효율적인 분석을 수행할 수 있습니다.