Pandas란?
pandas는 `Series`나 `Dataframe`으로 데이터를 처리할 수 있도록 돕는 강력한 라이브러리입니다. Juypter 창에서 아래와 같이 import해서 사용할 수 있습니다.
import pandas as pd
`Series`는 index와 value로 구성되어있는 한 줄짜리 표라고 생각하시면 됩니다. `Dataframe`은 Series를 열 방향으로 붙여 만든 데이터 구조로 2차원 배열과 비슷합니다.
Series 만들기
세 가지 방법으로 Series를 만들 수 있습니다. value만 주면 index가 자동으로 0부터 붙고, index를 붙일 수도 있고, dictionary로 줄 수도 있습니다.
1) value만 주기
s1=pd.Series(data=['랑','꾼','의','리','뷰'])
s1
2) index 주기
s2=pd.Series(data=['랑','꾼','의','리','뷰'],index=['어','서','오','세','요'])
s2
3) dictionary 주기
s3=pd.Series(data={'사':'입','전':'력','으':'하','로':'기'})
s3
4) values 출력
`values`를 이용하면 값들을 추출할 수 있으며, `numpy.ndarray`로 반환이 됩니다.
print(s3.values)
type(s3.values)
DataFrame 만들기
1) 이중리스트로 만들기
아래의 예시처럼 `data`에 이중리스트로 값들을 할당하고 `index`와 `columns`로 행과 열의 이름을 붙일 수 있습니다.
d1=pd.DataFrame(data=[['3000원','2500원','1500원'],['2800원','2700원','1300원']],
index=['A마트','B마트'],columns=['우유','맥주','요거트'])
d1
2) dictionary로 만들기
dic={'우유':['3000원', '2800원'], '맥주':['2500원','2700원'],'요거트':['1500원','1300원']}
d1=pd.DataFrame(data=dic, index=['A마트','B마트'])
d1
csv 파일 다루기
1. csv파일 불러오기
`csv`란 Comma-Separated-Value로 쉼표로 값이 구분되어있는 자료입니다.
`pd.read_csv()`로 읽어올 수 있는데, input값으로 `절대경로`를 넣을 수도 있고 `상대경로`를 넣을 수도 있습니다. `절대경로`는 쉽게 말해 주소창에 나오는 경로이고 `상대경로`는 해당 폴더로부터의 상대적 위치입니다. `./`는 현재 경로를 의미합니다.
위의 titanic.csv로 예제를 진행해보겠습니다. 저는 Jupyter lab 상에서 진행했습니다.
1) 상대 경로로 불러오기
df = pd.read_csv('./titanic.csv')
df
ipynb와 같은 위치에 csv파일을 넣어줬습니다.
2) 절대경로로 불러오기
df = pd.read_csv('C:/Users/ku96k/9주차/titanic.csv')
df
같은 결과가 출력됩니다. `역슬래쉬(\)`가 보통 주소창에 입력되어있는데 이를 `슬래쉬(/)`로 바꿔줘야 합니다.
2. csv파일 저장하기
`to_csv()`로 파일을 저장할 수 있습니다. `index`의 default값이 True이기 때문에 Unnamed라는 것이 붙는데, 이를 False로 지정해주면 깔끔하게 저장이 됩니다.
df.to_csv('./save_test.csv')
pd.read_csv('./save_test.csv')
#index=False 설정 시
df.to_csv('./save_test.csv',index=False)
pd.read_csv('./save_test.csv')
'Deep Learning' 카테고리의 다른 글
YOLOv3를 활용한 전동킥보드 헬멧 미착용 감시 시스템 만들기 1 (0) | 2021.05.08 |
---|---|
Batch Normalization, Transfer Learning (0) | 2020.09.19 |
Hyper parameter Tuning (0) | 2020.09.13 |
Pandas 기초 2: Indexing & Slicing (3) | 2020.09.01 |
Metrics (0) | 2020.08.31 |
[Dacon] 공유된 코드를 통해 선수지식 학습하기 (0) | 2020.08.30 |
[데이콘]Dataset 받아오기 (1) | 2020.08.26 |
CNN(Convolutional Neural Network) (0) | 2020.08.25 |