【Pandas】 시리즈(Series) 개념
◆ Pandas에서 시리즈(Series)는 1차원 배열과 비슷한 자료 구조로 데이터를 순차적으로 나열한 객체이다.
◆ Series는 값(value)과 인덱스(index)로 구성되어 있으며, 인덱스를 통해 각 데이터를 참조할 수 있다.
◆ 기본적으로 NumPy의 1차원 배열과 유사하지만, Series는 각 데이터를 레이블(인덱스)로 접근할 수 있다는 점에서 차이가 있다.
<< Pandas Series의 주요 특징: >>
● 1차원 데이터: Series는 단일 열의 데이터처럼 1차원 데이터를 다룬다.
▶ 인덱스: Series는 각 데이터에 대한 인덱스를 가진다.
- 기본적으로 정수 인덱스를 사용하지만, 인덱스를 사용자 지정할 수 있다.
▶ 다양한 데이터 타입: Series는 숫자, 문자열, 날짜 등 다양한 데이터 타입을 저장할 수 있다.
▶ 자동 인덱싱: 기본적으로 인덱스는 0부터 시작하는 정수로 설정되지만, 직접 인덱스를 지정할 수 있다.
【 Series의 주요 속성 및 메서드 】
◎ 인덱스와 값 접근
series.index: Series의 인덱스를 반환한다.
series.values: Series의 값을 반환한다.
인덱스를 통해 값에 접근할 수 있다.
---------------------------------------------
print(series.index)
print(series.values)
print(series['a']) # 인덱스로 값 접근
---------------------------------------------
◎ Series 연산
Series는 벡터화된 연산을 지원합니다. 즉, 각 값에 대해 동일한 연산을 적용할 수 있다.
--------------------------------------------------
series = pd.Series([1, 2, 3, 4])
print(series + 10) # 모든 값에 10을 더함
print(series * 2) # 모든 값에 2를 곱함
--------------------------------------------------
◎ 결측값 처리
결측값(NaN)이 포함된 경우, Pandas는 이를 자동으로 처리할 수 있다.
--------------------------------------------------------
series = pd.Series([1, 2, None, 4])
print(series.isnull()) # 결측값 확인
print(series.fillna(0)) # 결측값을 0으로 채우기
--------------------------------------------------------
◎ Series 슬라이싱 및 필터링
리스트나 배열처럼 인덱스를 이용해 슬라이싱할 수 있다.
-----------------------------------------------------------
print(series[:2]) # 처음 두 개의 값 선택
print(series[series > 2]) # 2보다 큰 값 필터링
-----------------------------------------------------------
◎ Series 간 연산
서로 다른 Series 간에도 연산이 가능합니다. 인덱스를 기준으로 연산이 수행된다.
-------------------------------------------------------------------
series1 = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
series2 = pd.Series([4, 5, 6], index=['b', 'c', 'd'])
print(series1 + series2) # 동일한 인덱스를 기준으로 연산
---------------------------------------------------------------------