Python을 사용한 데이터 분석 및 시각화 소개
7951 단어 datasciencepythondatabasebigdata
이 문서는 독자가 다양한 기본 시각적 형식으로 데이터를 표현하는 다양한 방법과 그로부터 이해해야 할 사항을 배우는 데 도움이 됩니다.
데이터 분석에 사용되는 일반적인 도구는 다음과 같습니다.
이 기사는 고급 언어인 Python을 사용하여 설명하고 다음과 같은 시각화를 위한 많은 라이브러리를 제공합니다.
시본
이러한 라이브러리는 Excel과 같은 파일 형식에서 데이터를 가져오고 Random Raw 데이터를 그래프, 파이 차트, 산점도 등으로 변환하는 데 사용할 수 있습니다.
파이썬에서 중요한 라이브러리 추가하기
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
데이터세트 가져오기
이 기사에서 사용된 데이터 세트는 2008년 경합주 미국 선거입니다.
데이터 세트 파일은 https://www.kaggle.com/aman1py/swing-states에서 가져왔습니다.
Note: Make sure the CSV file(Excel) is locally downloaded in the system.
The following code is mentioned in the downloadable code block and as well as executed using Jupyter Notebook.
The screenshot of the output is also attached for your understanding.
panda
read_csv
방법을 사용하여 Python에서 데이터를 가져올 수 있습니다.Data의 처음 5개 열은
head()
메서드로 나타낼 수 있습니다.연습하고 구현하려면 다음 데이터 세트를 메모장에 복사하고
2008_Election.csv
로 저장해야 합니다.state,county,total_votes,dem_votes,rep_votes,dem_share
PA,Erie County,127691,75775,50351,60.08
PA,Bradford County,25787,10306,15057,40.64
PA,Tioga County,17984,6390,11326,36.07
PA,McKean County,15947,6465,9224,41.21
PA,Potter County,7507,2300,5109,31.04
PA,Wayne County,22835,9892,12702,43.78
PA,Susquehanna County,19286,8381,10633,44.08
PA,Warren County,18517,8537,9685,46.85
OH,Ashtabula County,44874,25027,18949,56.94
OH,Lake County 121335,60155,59142,50.46
PA,Crawford County,38134,16780,20750,44.71
OH,Lucas County 219830,142852,73706,65.99
OH,Fulton County,21973,9900,11689,45.88
OH,Geauga County,51102,21250,29096,42.23
OH,Williams County,18397,8174,9880,45.26
PA,Wyoming County,13138,5985,6983,46.15
PA,Lackawanna County,107876,67520,39488,63.1
PA,Elk County,14271,7290,6676,52.2
PA,Forest County,2444,1038,1366,43.18
PA,Venango County,23307,9238,13718,40.24
OH,Erie County,41229,23148,17432,57.01
OH,Wood County,65022,34285,29648,53.61
PA,Cameron County,2245,879,1323,39.92
PA,Pike County,24284,11493,12518,47.87
코드 가져오기
import pandas as pd
df=pd.read_csv('2008_Election.csv')
df.head()
평균, 표준편차, 최대값, 최소값에 대한 설명을 표시하려면
describe()
방법으로 수행할 수 있습니다.히스토그램 플로팅
히스토그램은 일변량 분석이며 관계를 이해하기 위해 데이터를 나타내는 데 사용할 수 있습니다.
히스토그램은 matplotlib를 사용하여 나타낼 수 있습니다
plt.hist()
.히스토그램의 라벨링:
plt.xlabel()
- x축용plt.ylabel()
- Y축의 경우. Note: Always label your graph
Import matplotlib.pyplot library for the code to execute.
import matplotlib.pyplot as plt
h=plt.hist(df['dem_share'])
_=plt.xlabel('percentage of vote for Obama')
_=plt.ylabel('number of counties')
plt.show()
Seaborn 스타일링 설정
Seaborn은 Matplot 라이브러리의 스타일링 패키지입니다. 이 스타일링은 매력적이고 유익한 통계 그래픽을 그리기 위한 높은 수준의 인터페이스를 가지고 있기 때문에 많은 전문가들이 선호합니다.
import seaborn as sns
sns.set()
h=plt.hist(df['dem_share'])
_=plt.xlabel('percentage of vote for Obama')
_=plt.ylabel('number of countries')
plt.show()
플로팅 박스 플롯
박스 플롯은 중간 데이터 포인트가 있는 위치를 나타내는 데이터의 중앙값을 보여줍니다. 상위 및 하위 사분위수는 각각 75 및 25 백분위수를 나타냅니다.
상자 그림은
sns.boxplot()
로 표시됩니다.import matplotlib as plt
import seaborn as sns
_=sns.boxplot (x='east_west',y='dem_share',data = df_all_states)
_=plt.xlabel('region')
_=plt.ylabel('percentage of votes for Obama')
plt.show()
꿀벌 떼 플롯 생성
꿀벌 떼 플롯은 일반적으로 상대적으로 작은 데이터에 사용됩니다. 이것의 주요 용도는 유사한 기능을 가진 데이터를 그룹화하는 것입니다.
Bee Swarm 플롯은
sns.swarmplot
로 표시됩니다._=sns.swarmplot(x='state',y='dem_share',data=df)
_=plt.xlabel('state')
_=plt.ylabel('percentage of vote for Obama')
plt.show()
ECDF 만들기
ECDF는 경험적 누적 분포 함수(ECDF)를 나타냅니다.
ECDF는 사용자가 특정 기능을 최저에서 최고로 플로팅할 수 있는 추정기 도구이며 히스토그램의 대안으로 간주됩니다.
ECDF는
plt.plot()
를 사용하여 생성됩니다.import numpy as np
x=np.sort(df['dem_share']) #sorts data
y=np.arange(1, len(x)+1)/len(x) #arranges data
_=plt.plot(x,y,marker='.', linestyle='none')
_=plt.xlabel('percentage of vote for Obama')
_=plt.ylabel('ECDF')
plt.margins(0.02) #Keeps data off plot edges
plt.show()
결론
따라서 데이터 분석 및 시각화를 사용하여 난수와 데이터를 변환하여 다음과 같은 사실을 이해했습니다.
이러한 사실은 CSV 데이터셋을 보는 것만으로는 직접적으로 이해할 수 없으며 몇 줄의 코드만으로 데이터를 잘 이해할 수 있으며 히스토그램, ECDF 등과 같은 시각적 증거로 다른 사람에게 설명할 수 있습니다.
Reference
이 문제에 관하여(Python을 사용한 데이터 분석 및 시각화 소개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/221910301027/introduction-to-data-analysis-and-visualization-using-python-4c9m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)