오늘은 데이터 전처리, 시각화 강의를 학습을 마쳤습니다!

pandas와 matplotlib 을 활용한 기초적인 전처리와 시각화였습니다.

Pandas

데이터 불러오기

csv 파일 : pd.read_csv('파일경로.csv')
excel 파일 : pd.read_excel('파일경로.xlsx')

데이터 저장하기

pd.to_csv('파일명지정.csv', index=False)
-> index가 자동으로 설정되어 추가되는데 기존 인덱스를 사용하겠다면 index=False를 통해서 인덱스없이 저장할 수 있다.

데이터 합치기(Merge)

pd.merge(data1, data2, axis=0 or 1, on='컬럼명', how='inner')
-> data1과 data2 합치기
-> axis : 0은 밑으로(기본값), 1은 가로로 연결
-> on : 어떤 컬럼을 기준으로 join할건지 지정
-> how : sql에서 교집합, 합집합을 지정할 수 있다.(inner, outer, left, right)

데이터 그룹화

df.groupby('컬럼명').집계함수()
-> 컬럼명을 기준으로 그룹화를 진행
-> 그룹화된 컬럼의 속성값으로 집계함수를 적용해준다

# aggregation 메서드
df.groupby('컬럼명').agg(list)
-> 그룹화된 컬럼의 속성값을 모아서 list 형태로 보여줌

pivot 테이블

df.pivot_table(index='컬럼명', columns='컬럼명', values='컬럼명', aggfunc='집계함수명')
-> index, columns, values 를 컬럼별로 지정가능
-> values는 숫자형 데이터여야 집계함수 적용이 가능하다.
-> aggfunc은 values가 어떤 집계함수를 적용할 지 지정한다.

정렬기능

df.sort_values(by='컬럼명', ascending=False)
-> by에 지정한 컬럼을 기준으로 정렬
-> ascending 은 기본 True, 오름차순이고 False로 하면 내림차순
df.sort_index(ascending=False)
-> 인덱스 정렬 내림차순, 올림차순하고 싶으면 ascending 제외해도 됨

Matplotlib

'맷플롯립'이라 부르면서 뒤에 립은 라이브러리의 약자이다. 맷플롯라이브러리를 가져다 쓰는거다.
시각화 중에서도 표현하는 방식을 제외한 그래프의 디자인을 설정하는 부분은 대게 똑같거나 비슷하다. 그래프 종류 다음에 디자인 설정 순으로 정리

# 라이브러리 호출
import matplotlib.pyplot as plt

# 기본 구조
plt.figure(figsize=(10,10)) : 그래프 사이즈 지정
plt.plot(x, y, 기타 디자인설정) : plot 이외의 그래프로 바뀔 수 있음
plt.xlabel('text 지정') : x축 명칭
plt.ylabel('text 지정') : y축 명칭
plt.title('title text 지정') : 타이틀 명칭
plt.legend() : 범례 설정
plt.show() : 작성된 그래프 호출

그래프

# plot
df.plot(x = '컬럼명', y = '컬럼명')

# bar
df.bar(x = '컬럼명', y = '컬럼명') : 세로 막대
df.barh(x = '컬럼명', y = '컬럼명') : 가로 막대

# histogram
df.hist(data명, bins=30)
-> bins는 데이터 분산 정도를 나타내는데 이건 보면서 적당한 수치로 지정해야함

# pie
df.pie(수치 데이터컬럼, labels=라벨로 사용할 컬럼 또는 리스트)

# boxplot
df.boxplot(연속형이나 수치형 리스트, labels=x축의 구분이 되는 라벨 지정)

# scatter
df.scatter(x축, y축)

그래프 디자인 설정

plt.plot( color= 'g', linestyle='--', marker='o', label='라벨명')
-> plot의 색상, 라인스타일, 데이터 지점마다의 마커를 찍어줄 수 있음
-> 라벨은 plot의 범례를 표현해준다.

plt.legend(['라벨명']) : 범례 지정
plt.xlabel('x축 이름')
plt.ylabel('x축 이름')
plt.title('title명')
plt.text(4, 2, 'Some Text', fontsize=12) : 그래프 속에 라벨을 지정해줄 수 있다.

plot 변수 지정하여 설정하는 법

ax = df.plot(x='A', y='B')
ax.legend(['Data Series'])
ax.set_xlabel('X-label')
ax.set_ylabel('Y-label')
ax.set_title('Title')
plt.show()
-> ax 라는 변수에 그래프를 지정하게되면 변수명을 그대로 받아서 plt자리에 사용 가능
-> set_~을 사용하여 변수(ax)로 만들어진 plot그래프의 설정을 다시 설정한다고 생각하자

상관관계 계수 구하는 함수

df.corr(numeric_only=True)
-> numeric_only는 데이터에 숫자형 데이터 외의 데이터들을 빼고 보여주는 것이다.
-> 전처리 과정이 번거롭다면 빠르게 사용할 수 있음
profile
Data analyst를 향해 도전하는 이야기

0개의 댓글