2) DataFrame
2.DataFrame
2차원 데이터(Series들의 모임)
Data 준비
사전 (dict) 자료구조를 통해 생성
예) 슬램덩크 주요 인물 8명에 대한 데이터
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#']
}
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#']}
data['이름']
['채치수', '정대만', '송태섭', '서태웅', '강백호', '변덕규', '황태산', '윤대협']
data['키']
[197, 184, 168, 187, 188, 202, 188, 190]
DataFrame 객체 생성
import pandas as pd
df = pd.DataFrame(data)
df
이름 | 학교 | 키 | 국어 | 영어 | 수학 | 과학 | 사회 | SW특기 | |
---|---|---|---|---|---|---|---|---|---|
0 | 채치수 | 북산고 | 197 | 90 | 85 | 100 | 95 | 85 | Python |
1 | 정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
2 | 송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
3 | 서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | |
4 | 강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | |
5 | 변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
6 | 황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
7 | 윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
데이터 접근
df['이름']
0 채치수 1 정대만 2 송태섭 3 서태웅 4 강백호 5 변덕규 6 황태산 7 윤대협 Name: 이름, dtype: object
df['키']
0 197 1 184 2 168 3 187 4 188 5 202 6 188 7 190 Name: 키, dtype: int64
df[['이름','키']]
이름 | 키 | |
---|---|---|
0 | 채치수 | 197 |
1 | 정대만 | 184 |
2 | 송태섭 | 168 |
3 | 서태웅 | 187 |
4 | 강백호 | 188 |
5 | 변덕규 | 202 |
6 | 황태산 | 188 |
7 | 윤대협 | 190 |
DataFrame 객체 생성 (Index 지정)
df = pd.DataFrame(data, index=['1번','2번','3번','4번','5번','6번','7번','8번'])
df
이름 | 학교 | 키 | 국어 | 영어 | 수학 | 과학 | 사회 | SW특기 | |
---|---|---|---|---|---|---|---|---|---|
1번 | 채치수 | 북산고 | 197 | 90 | 85 | 100 | 95 | 85 | Python |
2번 | 정대만 | 북산고 | 184 | 40 | 35 | 50 | 55 | 25 | Java |
3번 | 송태섭 | 북산고 | 168 | 80 | 75 | 70 | 80 | 75 | Javascript |
4번 | 서태웅 | 북산고 | 187 | 40 | 60 | 70 | 75 | 80 | |
5번 | 강백호 | 북산고 | 188 | 15 | 20 | 10 | 35 | 10 | |
6번 | 변덕규 | 능남고 | 202 | 80 | 100 | 95 | 85 | 80 | C |
7번 | 황태산 | 능남고 | 188 | 55 | 65 | 45 | 40 | 35 | PYTHON |
8번 | 윤대협 | 능남고 | 190 | 100 | 85 | 90 | 95 | 95 | C# |
DataFrame 객체 생성 (Column 지정)
data 중에서 원하는 column만 선택하거나, 순서 변경 가능
df = pd.DataFrame(data, columns=['이름','학교','키'])
df
이름 | 학교 | 키 | |
---|---|---|---|
0 | 채치수 | 북산고 | 197 |
1 | 정대만 | 북산고 | 184 |
2 | 송태섭 | 북산고 | 168 |
3 | 서태웅 | 북산고 | 187 |
4 | 강백호 | 북산고 | 188 |
5 | 변덕규 | 능남고 | 202 |
6 | 황태산 | 능남고 | 188 |
7 | 윤대협 | 능남고 | 190 |
댓글남기기