간단하게 판다스로 작업한 데이터 프레임을 그래프로 시각화하는 것을 알려드리겠습니다.

 

다음 score 파일을 작업 폴더에 넣어주세요.

score.zip
0.00MB

 

 

dfs = []
for i in range(1,4):
    file_name = 'score/score%d.csv'%i
    dfs.append(pd.read_csv(file_name))
score_df = pd.concat(dfs)
score_df.drop_duplicates(inplace=True)
score_df.dropna(inplace=True)
score_df

# 중복 여부 확인 : DataFrame.duplicated()
# 중복이 있으면 처음과 마지막 값 중 무엇을 남길 것인가? : keep = 'first', 'last', False
# 중복값 처리(unique한 1개의 key만 남기고 나머지 중복은 제거) : DataFrame.drop_duplicates()

- pd.read_csv () : 해당 파일은 score 폴더 밑에 존재하며 파일 이름은 score1,2... 이렇게 되있기 때문에 한번에 불러오기 위해 for문을 작성하였다. 

- drop_duplicates() : 해당 파일을 보게 되면 중복 데이터가 있기 때문에 중복을 제거하고 하나만 남기게 됨

- .dropna() : 결손 데이터가 있는 행을 제거하는 것으로 inplace = True를 통해 원본 데이터프레임이 변경되게 된다.

 

 

score_df.reset_index(drop=True, inplace=False)   # 인덱스를 새로 정렬하지만, 원래 인덱스를 칼럼으로 만들지 않음

- 인덱스를 확인하면 인덱스가 불규칙적으로 된 것을 확인할 수 있다. 새로 정렬하기 위해 reset_index를 사용하였으며, drop=True를 통하여 인덱스가 변경되어 원래 인덱스를 칼럼으로 만드는 과정을 하지 않음

 

1. 그래프 그리기

import matplotlib.pylab as plt
score_df.plot()
plt.show()

- 그래프를 그리기 위해 matplotlib를 import 하고 .plot를 통하여 그래프를 그리고 show를 통하여 확인할 수 있다.

 

2. 상자그래프 그리기

score_df.boxplot('sci')

 

- 과학 성적에 대한 boxplot을 그릴 수있다.

 

 

3. crosstab 이용한 그래프 

pd.crosstab(titanic_df.Survived, columns=titanic_df.Pclass).plot()  # 선그래프

pd.crosstab(titanic_df.Survived, columns=titanic_df.Pclass,normalize=True).plot(kind='bar')  # 막대 그래프 

-  타이타닉 데이터의 생존률을 Pclass를 가지고 선그래프를 그려주고,kind='bar'를 인자로 넣어주면 막대그래프로 그려짐

 

 

4. figure() : 차트를 생성하는 함수

plt.figure(figsize=(15,10)) # figure => 캔버스라 생각, 숫자는 inch단위 (x,y)
score_df.hist(ax=plt.gca()) # 캔버스에 도화지를 붙인다 ax 

- 과목별 성적의 분포를 그래프로 확인 할 수 있다.

+ Recent posts