본문 바로가기
DS/데이터-PANDAS

PANDAS ST1 Index(색인)객체

by 시에라177 2022. 5. 21.

시리즈와 데이터프레임에서 레코드를 구분하는데 사용되는 인덱스도 하나의 객체이다.

print(population_k.index)
print(population_k.columns)

>>>
Index(['서울_특별시', '부산_광역시', '대구_광역시', '인천_광역시'], dtype='object')
Index(['인구수', '남성', '여성'], dtype='object')

#Index(색인)객체

-Index객체는 판다스의 모든 객체에 대해 레이블(라벨 혹은 이름)을 저장하는 기본 객체.

-쉽게 말해 Series나 DataFrame을 생성할 때 행과 열의 이름을 저장하는 객체. Series나 DataFrame을 만들 때 index =, columns = 로 넘기는 바로 그것. 즉, 행과 열은 인덱스객체라고 보면 된다.

- 데이터셋객체.index로 추출가능

- 1차원이다.

 

#인덱스 객체.
#종류는 Index Int64Index MultiIndex DatetimeIndex PeriodIndex
idx_0 = pd.Index([1,2,3,4,5])

print(idx_0)
print(idx_0[3])
print(type(idx_0))
>>>
Int64Index([1, 2, 3, 4, 5], dtype='int64')
4
<class 'pandas.core.indexes.numeric.Int64Index'>
#당연히 배열을 넘겨 만들 수도 있다.
ls_0 = [4,6,8,10,12]
idx_1 = pd.Index(ls_0)
print(idx_1)

>>>
Int64Index([4, 6, 8, 10, 12], dtype='int64')
#넘파이 기반이라 그런지, 넘파이 메소드도 사용가능하다

print(idx_1.shape)
print(idx_1.size)
print(idx_1.ndim)
print(idx_1.dtype)

>>>
(5,)
5
1
int64
#인덱스객체 추가.
print(idx_0.append(idx_1))

>>>
Int64Index([1, 2, 3, 4, 5, 4, 6, 8, 10, 12], dtype='int64')
#차집합
print(idx_0.difference(idx_1))

>>>
Int64Index([1, 2, 3, 5], dtype='int64')
#교집합
print(idx_0.intersection(idx_1))
print(idx_0 & idx_1)

>>>
Int64Index([4], dtype='int64')
Int64Index([4], dtype='int64')
#합집합
print(idx_0.union(idx_1))
print(idx_0 | idx_1)


>>>
Int64Index([1, 2, 3, 4, 5, 6, 8, 10, 12], dtype='int64')
Int64Index([1, 2, 3, 4, 5, 6, 8, 10, 12], dtype='int64')
#교집합의 여집합.
print(idx_0 ^ idx_1)

>>>
Int64Index([1, 2, 3, 5, 6, 8, 10, 12], dtype='int64')
# 인덱스객체에서 요소 뺴기. 파라미터로는 인덱스객체의 인덱스를 넘김.
print(idx_0.delete(0))
>>>
Int64Index([2, 3, 4, 5], dtype='int64')

#뺴고 싶은 값을 넣음
print(idx_0.drop(3))
>>>
Int64Index([1, 2, 4, 5], dtype='int64')