📍 Index
: 데이터에 접근할 수 있는 주소 값
✅ DataFrame 객체 생성
: pd.DataFrame({data})
In [1]:
import pandas as pd
data = {
'이름' : ['채치수', '정대만', '송태섭', '서태웅', '강백호', '변덕규', '황태산', '윤대협'],
'학교' : ['북산고', '북산고', '북산고', '북산고', '북산고', '능남고', '능남고', '능남고'],
'키' : [197, 184, 168, 187, 188, 202, 188, 190],
'국어' : [90, 40, 80, 40, 15, 80, 55, 100],
'영어' : [85, 35, 75, 60, 20, 100, 65, 85],
'수학' : [100, 50, 70, 70, 10, 95, 45, 90],
'과학' : [95, 55, 80, 75, 35, 85, 40, 95],
'사회' : [85, 25, 75, 80, 10, 80, 35, 95],
'SW특기' : ['Python', 'Java', 'Javascript', '', '', 'C', 'PYTHON', 'C#']
}
df = pd.DataFrame(data, index=['1번', '2번', '3번', '4번', '5번', '6번', '7번', '8번'])
df
Out[1]:
✅ Index 조회
: df.index
In [2]:
df.index
Out[2]:
Index(['1번', '2번', '3번', '4번', '5번', '6번', '7번', '8번'], dtype='object')
✅ Index 이름 설정
: df.index.name = 'index_name'
In [3]:
df.index.name = '지원번호'
df
Out[3]:
✅ Index 초기화
: df.reset_index(drop=True/False)
In [4]:
df.reset_index()
Out[4]:
In [5]:
df.reset_index(drop=True, inplace=True) # 원래 쓰던 '지원번호' 인덱스 삭제
df
Out[5]:
✅ Index 설정
: 지정한 column으로 Index 설정
df.set_index('column')
In [6]:
df.set_index('이름', inplace=True)
df
Out[6]:
✅ Index 정렬
: Index를 기준으로 오름차순, 내림차순 정렬
df.sort_index(ascending=True/False)
In [7]:
df.sort_index() # 인덱스를 기준으로 오름차순 정렬
Out[7]:
In [8]:
df.sort_index(ascending=False) # 인덱스를 기준으로 내림차순 정렬
Out[8]:
✅ fancy indexing
: 선택한 index list로 indexing하는 방법
In [9]:
s = pd.Series(['손흥민', '김연아', '박세리', '박찬호', '김연경'], index=['a', 'b', 'c', 'd', 'e'])
s[['a', 'c']]
Out[9]:
a 손흥민
c 박세리
dtype: object
✅ boolean indexing
: index list에서 True인 index만 선택
boolean index list 갯수와 Series의 갯수가 맞아야 함
In [10]:
i = [True, True, False, False, True]
s[i]
Out[10]:
a 손흥민
b 김연아
e 김연경
dtype: object
In [12]:
# 조건을 걸어서 boolean index list를 먼저 만들어 대입 가능
s = pd.Series([29, 99, 39, 11, 56])
s[s>50]
Out[12]:
1 99
4 56
dtype: int64
참고 : 나도코딩 파이썬 코딩 무료 강의 (활용편5) - 데이터 분석 및 시각화, 이 영상 하나로 끝내세요