그로스&퍼포먼스 마케팅

판다스 라이브러리1 ( 시리즈 - 인덱싱,슬라이싱,필터링,정렬 ) 본문

Python/기초

판다스 라이브러리1 ( 시리즈 - 인덱싱,슬라이싱,필터링,정렬 )

eunwoo99 2024. 2. 3. 10:00

시리즈도 리스트와 마찬가지로 인덱싱,슬라이싱,필터링이 가능합니다.

# 시리즈생성
import pandas as pd

data = [20, 10, 40, 50, 60, 30, 70, 80]
index = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']

series = pd.Series(data, index=index, name='my_series')
series

 

시리즈 인덱싱

 

인덱스의 이름으로 인덱싱을 할때는 ' ' 따옴표 안에 인덱스명을 넣어서 찾아줍니다.

인덱스순서로 인덱싱을 할때에는 리스트와 마찬가지로 0부터 시작해서 위치를 매칭해줍니다.

 

시리즈 슬라이싱
series.iloc['a']  # 라벨명으로 접근
series.loc[1]  # 인덱스값으로 접근

 

iloc[] 는 시리즈의 라벨명으로 접근합니다.

loc[] 는 시리즈의 인덱스값으로 접근합니다.

 

슬라이싱에서 둘의 차이는

리스트에서와 마찬가지로

인덱스값으로 접근할때(iloc)에는 1:3 이 두번째행부터 세번째행까지를 뜻한다는 것입니다.

loc에서 라벨명으로 슬라이싱할때는 'b':'f' 말그대로 해당 행의 슬라이싱을 수행합니다.

 

시리즈 필터링
# 조건 설정 (예: 30 이상인 값만 선택)
condition = series >= 30

# 조건에 맞는 요소 필터링
filtered_series = series[condition]
filtered_series  # 30,40, ... , 80 출력

 

시리즈도 필터링이 가능합니다.

예시처럼 조건을 따로 변수지정하지않고

바로 대괄호안에 넣어주어도 됩니다.

 

시리즈 정렬

 

series_sorted = series.sort_values()  # 값을 기준으로 정렬
series_sorted = series.sort_index()  # 인덱스를 기준으로 정렬

series_sorted = series.sort_values(ascending=False)  # 내림차순

 

 

정렬도 유용한 기능입니다. 값을 기준으로도, 인덱스를 기준으로도 정렬할 수 있습니다.

정렬함수는 기본적으로 오름차순이나, ascending=False를 통해 내림차순으로도 볼 수 있습니다.