Snoopy [Python] Pandas - 2. 시리즈 기본개념, 시리즈 생성, 인덱싱, 슬라이싱
Python/Pandas

[Python] Pandas - 2. 시리즈 기본개념, 시리즈 생성, 인덱싱, 슬라이싱

Sooyoon Jeong 2022. 10. 26.

[시리즈 공식문서]

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.html?highlight=series#pandas.Series


1. Series란?

시리즈는 1차원 배열이다.

인덱스가 사용가능하고, 데이터 타입(dtype)을 갖는다.

 

2. 시리즈 생성

1) 값을 변수에 할당하고 변수로 생성하기

arr = np.arange(10, 15) # numpy array로 리스트 생성
ser = pd.Series(arr)

 

2) 리스트를 사용해서 생성하기

snack = pd.Series(["포카칩", "새우깡", "포스틱", "홈런볼"])

단, series에 다양한 데이터 타입(str, int 등)이 섞여있다면 object 타입으로 생성된다.

 

3. 시리즈 요소들에 타입 지정하기

dtype을 사용하여 타입을 지정할 수 있다.

ser = pd.Series(arr, dytype = 'int')

4. 인덱싱(특정 값 추출하기)

1) 인덱싱

일반적으로 인덱싱 하는 것과 동일하게 인덱싱을 할 수 있다. (0번부터 시작)

snack[1]

2) fancy indexing

snack[[1,3]]

5. 슬라이싱

1) 일반적인 형태와 동일하게 슬라이싱을 할 수 있다.

 

2) 숫자형 index로 접근할 때는 일반적인 경우와 동일하게 뒷 index가 포함되지 않는다.

 

3) 단, 문자열 index(새로 지정한 index)는 시작 index와 끝 index 모두 포함되어 출력된다.

6. 인덱스 지정(인덱스 변경 후 추출)

RangeIndex에 사용자가 입력한 index를 지정할 수 있다.

  ※ range index는 0부터 순차적으로 부여되는 index이다.

 

1) 인덱스 값 직접 입력해서 지정하기

snack = pd.Series(["포카칩", "새우깡", "포스틱", "홈런볼"], index = ['a','b','c','d'])

 

2) 리스트로 인덱스 지정하기

index에 리스트 자체를 할당 할 수도 있다.

snack.index = list('abcde')

 

3) 인덱스로 인덱싱

index를 부여했을 경우, 변경된 index로 인덱싱이 가능하다.

snack['c']

4) 인덱스로 슬라이싱

변경된 index로 슬라이싱도 가능하다.

snack['b':'d']

위에서 언급한대로, 문자 인덱스를 활용해서 슬라이싱을 할 경우 첫번째 입력한 인덱스부터 두번째 입력한 인덱스까지 모두 가져오게 된다.

댓글