코딩뚠뚠

딥러닝, 데이터분석 pandas 기본사용 본문

공부/기타

딥러닝, 데이터분석 pandas 기본사용

로디네로 2021. 4. 6. 17:10
반응형

 

지금까지 딥러닝을 공부하면서 너무 얕게 공부한 탓인지 아직까지 pandas의 사용을 모르고 있었다.

 

이미지의 정보를 json, csv에 담아 놓은것을 사용한 적이 없고 이미지 이름이 곧 label 인 Data만 사용했다.

 

그러던 중 모 기업 과제테스트를 보면서 pandas를 이제 배워야겠다고 생각이 들었다.

 

너무 기본중에 기본이기 때문이다.

 

따라서 해당 포스팅에서도 깊은 내용이 아닌 읽기 쓰기 정도만 작성할 예정이다.

 


 

기본동작

 

pandas module import

import

import pandas as pd
import numpy as np

위와 같이 판다스 모듈을 import 한다

 

csv 파일 불러오기

read_csv

df = pd.read_csv('./my_data.csv')

read_csv로 csv 파일을 불러온다. df로 명명

 

Dataframe을 csv 파일로 저장하기

to_csv

#맨앞에 column에 있는 index값을 False로 두고 저장
df.to_csv("result.csv",mode='w',index=False)

 

csv 파일 간단히 보기

head(), tail()

# 상위 다섯 개의 데이터를 본다
df.head()
# 하위 다섯 개의 데이터를 본다.
df.tail()

 

column별 data type 보기

dtypes

df.dtypes

 

numpy array로 변환

to_numpy()

array = df.to_numpy()

df의 정보를 array화 시켜 사용할 수 있는 유용한 방법이다.

 

Index 정렬하기

sort_index

#내림차순
df.sort_index(axis=0, ascending=False)[:5] #5는 예시
#오름차순
df.sort_index(axis=0, ascending=True)[:5]

 

Value 별로 정렬하기

sort_values

df.sort_values(by='클래스명')[:5]

 

Column명으로 선택하기

df['클래스명'][:10]

 

Index범위로 선택하기

# index 0,1,2,3,4 선택
df[0:5]

# 끝에서 부터 5개 선택
df[-5:]

 

label별로 선택, 선택하여 값 넣기

loc

# 5행의 '클래스명'column의 값을 출력해낸다.
df.loc[5,'클래스명']

# 전체 행에서 '클래스명','가격' column의 값을 출력해낸다. 그리고 상위 5개만 표시한다
df.loc[:,['클래스명','가격']][:5]

# 조건 삽입도 가능하다.
df.loc[df.index>10, '클래스명'][:10]
# 응용
df.loc[df['클래스명']=='1','가격'][:5]

# 값을 지정해 넣을 수도 있다.
df.loc[df['클래스명']=='1','가격'] = '1000'

 

Index를 지정해서 선택하기

iloc

# 2행 1열의 값을 출력한다
df.iloc[2,1]

# 2행을 전부 출력한다
df.iloc[2,:]

 

복사하기

copy()

copy_df = df.copy()

 

행 지정, 새로운 열 추가, 새로운 Dataframe 생성

reindex

# df의 index 수만큼, df의 column명을 다 가져오고, extra라는 column도 생성해준다.
new_df = df.reindex(index=df.index[:], columns=list(df.columns) + ['extra'])

 

형변환

astype

# float 형이였던 column을 int형으로 바꾸기
df = df.astype({'클래스값':int})

 

 


 

References

teddylee777.github.io/pandas/10minutes-to-pandas-%EB%B6%80%EB%8F%99%EC%82%B0%EC%8B%A4%EC%A0%9C%EB%8D%B0%EC%9D%B4%ED%84%B0-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0

반응형

'공부 > 기타' 카테고리의 다른 글

C++ 가상함수 (Virtual Function)  (0) 2021.07.23
코딩테스트 SQL (MySQL)  (2) 2021.04.13
파이썬 self와 __init__ 에 대해  (0) 2021.04.05
Git 개념 및 사용 2  (0) 2021.02.07
Git 개념 및 사용법 1  (0) 2021.02.07