pandas에서 데이터 시각화
matplotlib의 얇은 래퍼이지만, 이것을 사용하면 기본적인 그래프의 코드가 상당히 단단해집니다.
Pandas를 이용한 데이터 시각화
여기에 소개되어 있던 iris의 가시화라면, R과 같은 정도의 코드량으로 가시화할 수 있습니다.
Python for R Users
Python과 R의 차이 (데이터 시각화, 그래프 작성)
import가 많은 것은 python의 사양입니다만, 현재의 python에서의 데이터 해석의 생산성은 꽤 높다고 느낍니다.
R도 Rstudio/dplyr가 보급되어 생산성이 향상되고 있습니다만, python도 Jupyter/Pandas가 보급되어 5년전과는 바뀌고 있다고 생각합니다.
(numpy+matplotlib가 메인이었을 무렵과는 전혀 다릅니다.)
필요한 패키지, 데이터 로드
import seaborn as sns
import pandas as pd
iris=sns.load_dataset("iris")
%%matplotlib inline
세련된 느낌을 내기 위해 seaborn을 가져옵니다. 아울러, seaborn에는 장난감 데이터도 들어 있기 때문에 iris는 여기에서 load.
산점도
iris.plot.scatter(x="sepal_length",y="sepal_width")
상자 수염 그림
iris.sepal_length.plot.box()
히스토그램
iris.sepal_length.hist()
라인 차트
iris.sepal_length.plot.line()
파이 차트
pd.crosstab(iris.species,columns="species").plot.pie(y="species")
이것은 기본적으로 몇 가지 문제가 있습니다.
- 기본값이 가로로 깨져 버립니다.
- label이 겹쳐 버린다
- seaborn에 파이 차트가 없기 때문에 컬러 맵이 만들어지지 않습니다.
이 때문에 설정 바꾸는 것도 미묘하지만, 설정을 추가하면 깨끗하게 합니다.
from matplotlib import pylab
default_size=pylab.rcParams["figure.figsize"]
pylab.rcParams["figure.figsize"]=12,12
pd.crosstab(iris.species,columns="species").plot.pie(y="species",colors=sns.color_palette())
사이즈를 바꾸면 되돌려 둡시다.
pylab.rcParams["figure.figsize"]=default_size
바 차트
iris.sepal_length.plot.bar()
바차트는 카테고리 변수를 상정하고 있기 때문인지, 이것만 디폴트에서는 축 라벨을 씨닝해 주지 않았습니다.
matplotlib를 직접 호출하면 썰어줍니다. (seaborn을 import 끝났으므로 색조는 seaborn입니다.)
from matplotlib import pyplot as plt
plt.bar(iris.index,iris.sepal_length)
요약
전 슬라이드는 전반에 Pandas를 설명하고 있지만, 후반의 시각화에서는 Pandas를 사용하지 않기 때문에 코드가 중복되어 있습니다.
복잡한 일을 시도하면 matplotlib의 API를 직접 접촉해야합니다.
기본적인 그림이라면 Pandas의 API만으로 간단하게 코딩 가능합니다.
Reference
이 문제에 관하여(pandas에서 데이터 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/y__sama/items/9676f148a66c16d8f47c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import seaborn as sns
import pandas as pd
iris=sns.load_dataset("iris")
%%matplotlib inline
iris.plot.scatter(x="sepal_length",y="sepal_width")
iris.sepal_length.plot.box()
iris.sepal_length.hist()
iris.sepal_length.plot.line()
pd.crosstab(iris.species,columns="species").plot.pie(y="species")
from matplotlib import pylab
default_size=pylab.rcParams["figure.figsize"]
pylab.rcParams["figure.figsize"]=12,12
pd.crosstab(iris.species,columns="species").plot.pie(y="species",colors=sns.color_palette())
pylab.rcParams["figure.figsize"]=default_size
iris.sepal_length.plot.bar()
from matplotlib import pyplot as plt
plt.bar(iris.index,iris.sepal_length)
전 슬라이드는 전반에 Pandas를 설명하고 있지만, 후반의 시각화에서는 Pandas를 사용하지 않기 때문에 코드가 중복되어 있습니다.
복잡한 일을 시도하면 matplotlib의 API를 직접 접촉해야합니다.
기본적인 그림이라면 Pandas의 API만으로 간단하게 코딩 가능합니다.
Reference
이 문제에 관하여(pandas에서 데이터 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/y__sama/items/9676f148a66c16d8f47c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)