본문 바로가기
Pandas 공부해보기

Pandas 2. Series object - 1

by 유티끌 2022. 10. 1.

Pandas 2. Series object

Pandas에서 Series 클래스는 동일한 타입의 데이터만 담을 수 있고, 레이블이 있는 1차원 배열입니다. 즉, 어떠한 하나의 컬럼을 표현할 수 있는 클래스라고 할 수 있다.

여기서 레이블이란, 인덱스의 개념이고, 특별히 별도로 지정하지 않으면 숫자인덱스를 부여한다.

Constructor

생성자에서 알아봐야할 것은 index 파라미터이다.
Series 객체로 생성할 데이터가 만약 딕셔너리 타입이라면, Key:value 의 값중 key값이 자동으로 인덱스로 지정되지만, 다른 데이터타입이라면 숫자인덱스가 부여된다.

임의의 인덱스를 설정하고 싶다면 아래와 같이 파라미터를 지정할 수도 있다.

np.nan

Series 객체를 생성할 때, NaN (Not a Number)도 들어갈 수 있다. 즉 결측값이다.

단, 정수형태만 들어있는 Series객체에 결측값이 있다면 판다스에서는 정수가 아닌 부동소수점(float) 로 변환한다.

객체를 생성할 수 있는 자료구조

  • 딕셔너리
  • 튜플
  • 배열

이고, 딕셔너리를 제외한 나머지는, 별도의 인덱스 파라미털르 지정해주지 않는 경우 순서 인덱스를 부여한다.

튜플의 경우 튜플을 저장하는 객체 를 만들 경우에는 리스트에 여러개의 튜플을 담으면 된다.

rgb_colors = [(120, 41, 26), (196, 165, 45)]
pd.Series(data= rgb_colors)

집합set 의 경우에는, 순서가 집합이라는 자료구조 특성상 순서가 없기 때문에 Series객체를 생성할 수 없다.
왜냐하면 Series는 기본적으로 인덱스를 부여할때 순서 순을 부여하기 때문이다.

TypeError: 'set' type is unordered

집합을 이용하여 생성해야할 경우, 집합을 배열로 변환하여 순서를 부여한다. 이 때, 순서는 랜덤하게 부여된다. (집합의 순서를 보장할 수 없음)

pd.Series(list(my_set))

속성과 메소드값에는 많은 값들이 있지만, 자주 사용하는 것들을 소개해봅니다.

Attribute

객체에는 많은 attribute (field) 들이 있다.

values

인덱스값이 아닌 밸류 값만 알고싶다면, 시리즈 객체의 values 값을 사용합니다.

if "Los Angeles" in cities.values

index

반대로, 인덱스값을 알고 싶다면 index 를 사용합니다.

size

Series 객체의 크기를 알고싶다면 size 를 사용합니다.
결측값이 포함되어있어도 그것을 포함한 전체 갯수를 구합니다.

shape

몇차원인지 반환합니다. Series객체는 1차원 배열이므로, 튜플의 앞자리만 표기될 것 입니다.

(3,)

is_unique

해당 객체의 모든 값이 고유할 경우, True를 반환합니다. 만일 중복 항목이 있다면 False를 반환합니다.

is_monotonic_increasing / is_monotonic_decreasing

객체의 데이터가 오름차순인지 내림차순인지를 확인합니다.

중간에 값이 뒤섞여있다면 무조건 False를 반환합니다.

method

head(), tail()

앞쪽 데이터와 뒤쪽 데이터를 노출합니다. 파라미터를 지정하지 않으면 기본값으로는 5 입니다.

반응형

댓글