본문 바로가기
끄적끄적

파이썬) 데이터프레임 = 표

by 뇸뇸 nyomnyom 2022. 7. 15.

스파르타 왕초보 데이터 분석 종합반 1주 차 

df = pd.DataFrame()

해석: df판다스에서 제공하는 데이터 프레임을 통해 () 안의 내용으로 표를 만든다.

 

패키지 (package)는 누군가가 이미 만들어놓은 함수, 클래스 덩어리를 말한다.

그래서 내가 어떤 기능을 직접 구현하지 않더라도,

패키지를 이용해서 누가 이미 만들어놓은 기능을 사용할 수 있다.

import 라는 명령어를 사용해서, 그 기능을 가져오기만 하면 바로 사용 가능하다.

 

pd = 판다스(Pandas)는 파이썬 데이터 분석을 위한 필수 패키지
그중 Pandas가 제공하는 데이터 프레임은 주로 데이터를 읽어서 저장하고 표(테이블)를 만들어준다.

 

<연습 1>

import pandas as pd

items = {'code' : [101, 102, 103, 104, 105, 106, 107, 108],
         '과목': ['수학', '영어', '국어', '체육', '미술', '사회', '도덕', '과학'],
         '수강생':[15, 15, 10, 50, 20, 50, 70, 10],
         '선생님': ['김민수','김현정','강수정', '이나리', '도민성', '강수진', '김진성', '오상배']}
df = pd.DataFrame(items)
df
	code	과목	수강생	선생님
0	101	수학	15	김민수
1	102	영어	15	김현정
2	103	국어	10	강수정
3	104	체육	50	이나리
4	105	미술	20	도민성
5	106	사회	50	강수진
6	107	도덕	70	김진성
7	108	과학	10	오상배​

 

상위 5개 행만 출력함

df.head() #"데이터프레임의 머리만 출력해라우"
code	과목	수강생	선생님
0	101	수학	15	김민수
1	102	영어	15	김현정
2	103	국어	10	강수정
3	104	체육	50	이나리
4	105	미술	20	도민성
 
하위 5개 행만 출력함
df.tail() #"데이터프레임의 꼬리만 출력해라우"
code	과목	수강생	선생님
3	104	체육	50	이나리
4	105	미술	20	도민성
5	106	사회	50	강수진
6	107	도덕	70	김진성
7	108	과학	10	오상배

 

랜덤으로 3개 뽑아서 출력
df.sample(3)
	code	과목	수강생	선생님
1	102	영어	15	김현정
0	101	수학	15	김민수
7	108	과학	10	오상배

 

<연습 2>

이 식을 추가로 적고

items2 = {'code' : [109, 110],
         '과목': ['컴퓨터', '한자'],
         '수강생':[10, 12],
         '선생님': ['이철민', '김영우']}
df2 = pd.DataFrame(items2)
df2
	code	과목	수강생	선생님
0	109	컴퓨터	10	이철민
1	110	한자	12	김영우
 
df랑 df2를 합쳐보자!
total_df = pd.concat([df,df2])
total_df

 

그럼 값은 이렇게!👇

code	과목	수강생	선생님
0	101	수학	15	김민수
1	102	영어	15	김현정
2	103	국어	10	강수정
3	104	체육	50	이나리
4	105	미술	20	도민성
5	106	사회	50	강수진
6	107	도덕	70	김진성
7	108	과학	10	오상배
0	109	컴퓨터	10	이철민
1	110	한자	12	김영우

 

to_csv라는 함수를 통해 데이터 저장하기 

total_df.to_csv('data.csv')

 

저장하고 데이터 불러올때는

new_df = pd.read_table('data.csv',sep = ',')
new_df

👉 sep이란 ' , '(콤마)를 기준으로 나누겠다고 명시해주는 함수  

 

그러면 결과는

	Unnamed: 0	code	과목	수강생	선생님
0	0	101	수학	15	김민수
1	1	102	영어	15	김현정
2	2	103	국어	10	강수정
3	3	104	체육	50	이나리
4	4	105	미술	20	도민성
5	5	106	사회	50	강수진
6	6	107	도덕	70	김진성
7	7	108	과학	10	오상배
8	0	109	컴퓨터	10	이철민
9	1	110	한자	12	김영우

이렇게 나오는데

이때 Unnamed행의 번호를 뜻한다.

이것을 없애고 싶으면

 

저장할 때

total_df.to_csv('data.csv', index = False)

이렇게 저장하자.

 

그럼 결과는 

code	과목	수강생	선생님
0	101	수학	15	김민수
1	102	영어	15	김현정
2	103	국어	10	강수정
3	104	체육	50	이나리
4	105	미술	20	도민성
5	106	사회	50	강수진
6	107	도덕	70	김진성
7	108	과학	10	오상배
0	109	컴퓨터	10	이철민
1	110	한자	12	김영우

이렇게!

 

'끄적끄적' 카테고리의 다른 글

JS) 조건문, 반복문  (0) 2022.07.16
JS) 함수  (0) 2022.07.16
파이썬) class 간단하게 이해하기  (0) 2022.07.15
파이썬) print로 적었을때 None 뜨는 이유 (return과 비교)  (0) 2022.07.15
파이썬) for문 (반복문)  (0) 2022.07.15

댓글