[BE] Python Pandas 훑어보기 (1) Series

안녕하세요. 오늘은 Python Pandas의 Series에 대해 간략하게 알아보겠습니다.
DataFrame은 여기에서 살펴보실 수 있습니다.

python pandas
[BE] Python Pandas 훑어보기 (1) Series 2

Python Pandas란?

파이썬의 많은 데이터 분석 라이브러리 중 하나인 Pandas입니다. 데이터의 분석과 조작을 쉽게 해주는데요, s3에 바로 넣어주거나, csv로 바로 변환해준다거나 하는 등 개발 편의성 또한 우수합니다. 비교군으로 Numpy가 있는데요, 보통 Pandas는 데이터 조작과 분석(DB 데이터 등)에 많이 사용하고 Numpy는 행렬 연산을 많이 하기에 ML 등의 분야에서 많이 사용됩니다.

Pandas 구성 요소

Pandas는 Series와 Dataframe이라는 이름을 가진 데이터 구조로 동작합니다. 각각은 무엇을 의미할까요? Series는 개발자들이 익숙한 1차원 배열이라고 이해해주셔도 무방합니다. Index를 통해 데이터를 다룹니다. 반면에 Dataframe은 2차원 배열로 이루어져있습니다. 다른 말로는 행과 열로 구성되어 있다고 할 수 있으며 어릴 적 수학 시간에 배운 그 행렬입니다.

이번 시간에는 Series에 대해 알아보고, 다음 시간에는 DataFrame에 대해 알아보겠습니다.

Series

1차원 배열로 이해해주시면 됩니다. 정확하게는 행으로 이루어져 있는 것이며 아래의 코드는 각각 행의 명칭은 a, b, c로 지정하겠다 라는 의미입니다.

d = {'a': 1, 'b': 2, 'c': 3}
srs = pd.Series(data=d, index=['a', 'b', 'c'])
print(srs)

# a  1
# b  2
# c  3
# dtype: int64

Series를 생성할 때 지정한 index에 해당하는 값이 data에 넣은 d 값에는 없으므로 NaN이 지정됩니다.

d = {'a': 1, 'b': 2, 'c': 3}
srs = pd.Series(data=d, index=['x', 'y', 'z'])
print(srs)

# x  NaN
# y  NaN
# z  NaN
# dtype: float64

Series로 만든 값을 변경하고자 한다면 아래와 같이 변경하면 됩니다.

d = {'a': 1, 'b': 2, 'c': 3}
srs = pd.Series(data=d)
srs['a'] = 91
print(srs)

# a  91
# b  2
# c  3
# dtype: int64

Series의 index 값을 변경하고자 한다면 아래와 같이 변경하면 됩니다.

d = {'a': 1, 'b': 2, 'c': 3}
srs = pd.Series(data=d)
srs['a'] = 91
print(srs)

# a  91
# b  2
# c  3
# dtype: int64

# 1. index 직접 지정하여 변경
srs.index = ['x', 'y', 'z']
print(srs)
# x  91
# y  2
# z  3
# dtype: int64

# 2. rename 메서드 사용
srs = srs.rename(index={'x': 'q', 'y': 'w', 'z': 'e'})
print(srs)
# q  91
# w  2
# e  3
# dtype: int64

# 3. set_axis 메서드 사용 - 열의 값을 변경할 때 사용합니다.
# 여기에서 axis=0은 index 명을 나타냅니다.
# 참고) axis=1은 열의 이름을 변경할 때 사용합니다. (DataFrame 사용할 때 사용)
srs = srs.set_axis(['i', 'o', 'p'], axis=0)
print(srs)
# i  91
# o  2
# p  3
# dtype: int64

마무리

이번 시간에는 Python Pandas Series에 대해 알아보는 시간을 가졌습니다. 다음 시간에는 테이블 형태의 데이터를 표현하는데에 유용한 DataFrame에 대해 작성해보겠습니다.

Leave a Comment