-
데이터 사이언스: Pandas plot의 종류와 특성 공부하기!(박스플롯, 산점도, 선, 막대, 원, 히스토그램)데이터 사이언스 2020. 7. 27. 12:57
Pandas에서 제공하는 여러가지 그래프들을 알아보겠습니다~
1. 선그래프(Line plot)
다음과 같은 데이터프레임이 있을 때
import pandas as pd df = pd.read_csv("Downloads/broadcast.csv", index_col = 0)
선 그래프는 시간의 경과에 따라 변하는 모습을 나타내기 위한 플롯입니다. 그냥 꺽은선 그래프라고 생각하시면 됩니다.
df.plot()
방송사의 전체적인 시청률이 떨어지고 있음을 알 수 있습니다.
아마도 유튜브나 넷플릭스 때문이겠죠?
df.plot(y = "KBS") df["KBS"].plot()
위의 두 가지방법으로 출력할 수 있습니다.
KBS의 시청률이 시간에 지남에 따라 감소하는 것을 알 수 있네요.
2. 막대그래프(Bar graph)
조사한 수를 막대로 나타낸 그래프, 수량의 많고 적음을 한눈에 쉽게 비교할 수 있습니다.
df2 = pd.read_csv("Downloads/sports.csv", indx_col = 0) df2
< 가로형 >
df2.plot(kind = "bar")
남자들이 좋아하는 운동, 여자들이 좋아하는 운동을 한눈에 확인할 수 있습니다.
< 세로형 >
df2.plot(kind = "barh")
<Stack형>
df2.plot(kind = "bar", stacked = True)
어떤 운동이 가장 인기가 많은지 알 수 있군요!
3. 원그래프(Pie graph)
수량을 통해 비교하기 보다는 비율을 통해 비교할 때 유용합니다.
df3 = pd.read_csv("Downloads/broadcast.csv", index_col = 0) df3
df3.loc[2012].plot(kind = "pie")
4. 히스토그램(Histogram)
범위를 여러개로 나누어 만든 막대 그래프입니다. 일종의 도수분포표죠
df4 = pd.read_csv("Downloads/body.csv", index_col = 0) df4
df4.plot(kind = "hist", y = "Height")
키가 175cm 주변인 사람들의 분포가 제일 높군요!
좀 더 세분화해서 나누어 주고 싶다면 bins 값을 정해줍니다.
default 값이 10이므로 지정해주지 않으면 10개의 구간으로 히스토그램이 만들어집니다.
df4.plot(kind = "hist", y = "Height", bins = 15)
측정 범위를 15칸으로 쪼개서 전 히스토그램보다 더 구체적으로 보여줍니다.
5. 박스플롯(Box plot)
자료의 특성을 한 눈에 볼 수 있다는 특성이 있고,
이상점이 포함되어 있는지 쉽게 판단할 수 있습니다.
박스플롯은 다음과 같은 기준을 따릅니다.
df5 = pd.read_csv("Downloads/exam.csv") df5
df5["math score"].describe()
count 1000.00000 mean 66.08900 std 15.16308 min 0.00000 25% 57.00000 50% 66.00000 75% 77.00000 max 100.00000
"math score"의 box plot이 위와 같은 값을 따를 겁니다.
df5.plot(kind = "box", y = "math score")
수학점수에 대한 평균값, 최소, 최댓값, 중간값등을 대략적으로 알 수 있습니다.
df5.plot(kind = "box", y = ["math score", "reading score", "writing score"])
이렇게 수학점수, 읽기점수, 쓰기점수 전체를 박스플롯으로 나타냄으로써
대략적인 점수 분포를 알 수 있습니다.
예를 들어, 대략적인 점수 분포는 읽기 점수가 수학 점수보다 높고
수학점수는 다른 과목들보다 골고루 분산되어 있다는 것을 알 수 있습니다.
6. 산점도(Scatter plot)
산점도(scatter plot)은 두 변수간의 관계를 시각적으로 검토할 때 유용합니다.
df5.plot(kind = "scatter", x = "reading score", y = "writing score")
쓰기점수가 높아질수록, 읽기점수가 높아지는 것을 보아하니
둘의 점수관계가 비례한다는 것을 알 수 있군요!
반응형'데이터 사이언스' 카테고리의 다른 글