Python을 사용한 데이터 분석 [당신이 알아야 할 모든 것]

게시 됨: 2020-09-02

데이터 분석을 시작하려는 사람이라면 가장 먼저 떠오르는 언어는 R 또는 Python입니다. 그리고 개발자들이 이제 Python에 더 기울어지는 이유는 일반 소프트웨어 개발 분야에서 폭넓게 적응할 수 있기 때문입니다. 따라서 파이썬을 사용한 데이터 분석 은 데이터 과학으로의 여정을 시작하는 사람이 가장 많이 듣는 용어 중 하나입니다.

목차

왜 데이터 분석인가?

이제 먼저 왜 데이터 분석인가? 어떤 유형의 데이터로 작업하는지 아는 첫 번째 단계입니다. 다른 방법으로는 볼 수 없는 귀중한 패턴을 데이터에서 찾는 단계입니다. 전반적으로 데이터 세트에 대한 직관적인 이해를 제공합니다.

여기서 우리는 데이터 분석과 데이터 전처리 사이에 선을 그어야 합니다. 데이터 사전 처리는 데이터 세트를 모델링하여 학습할 준비가 되었는지 확인합니다. 데이터 분석은 데이터 전처리를 위한 전단계인 데이터셋을 이해하는 것입니다. 데이터 분석에서 우리는 데이터를 더 잘 보기 위해 데이터를 모델링하려고 시도하고, 따라서 손에 있는 데이터 세트에 대한 통찰력을 배웁니다.

왜 파이썬인가?

두 번째 질문은 왜 Python입니까? 글쎄요, 우리는 이미 파이썬이 널리 적응된 언어라고 말했습니다. 예, 데이터 분석과 관련하여 유일한 선택은 아니지만 꽤 좋은 선택입니다. 더 많이 사용하는 또 다른 이유! Python은 쉽고 python을 사용하여 데이터 분석 에 관해 도움을 줄 수 있는 대규모 개발자 커뮤니티가 있습니다 . 또한 Python 을 사용한 데이터 분석은 데이터 분석 및 시각화를 위해 제공하는 크리에이티브 라이브러리가 많기 때문에 상당히 즐겁습니다.

Python에서 데이터 분석을 위한 기본 라이브러리는 Pandas입니다. 과학 컴퓨팅 및 수치 분석을 위한 NumPy 라이브러리를 기반으로 하는 고급 라이브러리입니다. Pandas는 DataFrame으로 알려진 데이터 구조를 제공하여 데이터 작업을 더 쉽게 만듭니다. DataFrame은 데이터 세트를 읽고 저장하는 데 도움이 됩니다. 데이터세트 읽기 및 쓰기를 위한 기본 기능은 물론 메타데이터 보기 및 데이터세트에서 모든 통찰력을 추출하는 쿼리 기능을 제공합니다.

데이터 시각화는 전체 데이터 분석에서 상당한 부분을 차지한다는 점에 유의하는 것이 중요합니다. 데이터를 더 잘 이해하는 데 도움이 될 뿐만 아니라 통찰력을 제공하는 사람들에게도 도움이 되기 때문입니다. 시각화에 가장 많이 사용되는 두 라이브러리인 Matplotlib와 Seaborn에 대해 논의할 것입니다. Matplotlib는 Python의 모든 시각화를 위한 기본 라이브러리입니다. Seaborn은 또한 가장 창의적인 데이터 시각화 기능을 제공하는 Matplotlib를 기반으로 제작되었습니다.

환경 설정

첫 번째 단계는 환경을 설정하는 것입니다. python을 사용하여 데이터 분석을 수행하는 동안 모든 작업을 보관할 수 있는 적절한 환경을 갖는 것이 중요합니다. 파이썬을 사용한 데이터 분석 은 단순한 스크립트가 아니라 데이터 세트와 자신의 상호 작용이 될 것이며 이를 위해서는 적절한 작업 장소가 필요합니다.

파이썬에서 해당 서비스는 Anaconda Distribution에서 제공합니다. Anaconda의 주요 작업 공간은 Jupyter 노트북입니다. 이제 왜 Jupyter입니까? 글쎄, 그것은 당신이 당신의 노트북 내부에 직접 시각화를 가질 수 있습니다. 또한 원하는 위치를 명시적으로 지정하지 않고도 출력을 직접 볼 수 있는 몇 가지 마법 기능이 있습니다.

라이브러리, Pandas 및 Matplotlib는 사전 설치되어 제공되므로 이를 사용하기 위해 추가 설정이 필요하지 않습니다.

다음은 Python을 사용하여 데이터 분석을 수행하는 방법에 대한 개요입니다 .

  • 데이터 세트 로드
  • Pandas를 사용하여 데이터세트의 메타데이터 보기
  • Matplotlib를 사용한 데이터 시각화
  • 데이터에 대한 통찰력 수집

필요한 라이브러리 가져오기

단계에 대한 코드를 살펴보기 전에 전체 프로그램에 대해 호출할 이름과 같이 의사 태그가 있는 필요한 라이브러리를 가져오기만 하면 됩니다.

numpy np가져오기

pandas pd가져오기

# 데이터 시각화용

matplotlib.pyplot plt가져오기

씨본 sns가져오기

이제 각 단계를 살펴보고 사용할 수 있는 기능과 사용 방법에 대해 논의합니다.

먼저 데이터 세트를 읽습니다. Pandas는 데이터세트를 핵심 데이터 구조인 DataFrame에 로드하기 위한 몇 가지 기본 기능을 제공합니다. 다음과 같이 사용할 수 있습니다.

data_df = pd.read_csv('heart.csv')

모든 읽기 기능의 출력은 DataFrame이 됩니다. CSV 판독기 외에도 pandas는 거의 모든 유형의 데이터에 대한 판독기를 제공합니다. HTML에서 JSON 및 Excel로.

이 외에도 데이터가 없고 데이터셋을 생성하고 싶다면 Pandas의 Series 및 DataFrame 객체 기능을 쉽게 사용할 수 있습니다.

따라서 데이터가 있으면 데이터가 무엇인지 살펴보겠습니다. 데이터의 첫 번째 보기를 얻으려면 df.info 또는 df.describe와 같은 함수를 사용하여 데이터 세트의 구조를 알 수 있습니다.

data_df.info()

data_df.describe()

데이터 세트에 어떤 기능이 포함되어 있는지 알고 나면 해당 값을 보고 싶을 수 있습니다. df.head() 함수를 사용하여 처음 5개 샘플을 얻을 수 있습니다.

data_df.head()

#또는

data_df.head(3)

샘플 수를 지정하여 기본값 5를 재정의할 수도 있습니다. df.tail() 함수를 사용하여 데이터세트의 마지막 5개 값을 가져올 수도 있습니다.

data_df.tail()

이것은 데이터가 어떻게 생겼는지에 대한 높은 수준의 개요를 얻기 위한 것입니다. 준비가 되면 Matplotlib를 사용하여 주요 데이터 시각화 작업을 시작할 수 있습니다. 플로팅을 대화형으로 만들고 노트북 자체에서 동일하게 보려면 다음 코드를 입력하세요.

%matplotlib 인라인

matplotlib에서 상위 5개 시각화의 기능을 볼 수 있습니다. 시작하기 전에 플롯을 제어하는 ​​다른 기능을 알아야 합니다. 다음과 같은 기능:

  • 레이블: xlabel(), ylabel(). x축 및 y축 레이블용입니다.
  • 범례: 플롯의 범례를 만드는 데 사용됩니다.
  • 제목: 플롯의 제목을 지정하려면
  • 마지막으로 플롯을 보기 위한 show 함수입니다.

체크아웃: 인도의 데이터 분석가 급여

시각화

이제 시각화를 살펴보겠습니다. 기본 줄거리부터 시작하겠습니다. plt.plot()은 데이터에 대한 간단한 선 플롯을 생성하는 데 사용됩니다. 이 함수는 강제적으로 두 개의 매개변수가 필요하며 이들은 x축 데이터와 y축 데이터입니다. 선택적으로 플롯의 스타일과 이름 및 색상을 제공할 수 있습니다. 다음은 코드에서 보이는 방법입니다.

plt.plot(data_df['chol'])

두 번째 플롯은 히스토그램입니다. 히스토그램은 특정 기능의 빈도 또는 분포를 보는 데 도움이 됩니다. 수량들이 서로 어떻게 관련되어 있는지 보는 데 도움이 됩니다. Plt.hist()는 데이터에 히스토그램을 생성하는 기본 함수입니다. bins 매개변수를 언급하여 플롯의 숫자를 제어할 수 있습니다. 일변량 분석을 원하는 경우 단일 축 데이터만 전달하면 됩니다.

plt.hist(data_df['나이'])

많이 볼 수 있는 또 다른 플롯은 막대 플롯입니다. 다양한 기능을 분석하고 비교하는 데 도움이 됩니다. 히스토그램과 달리 막대 그림은 범주형 데이터 작업에 사용됩니다.

DataFrame에 플롯을 직접 적용하거나 plt.bar() 함수 내부에 매개변수를 지정할 수 있습니다. 사용 방법은 다음과 같습니다.

df = pd.DataFrame(np.random.rand(15, 5), 열=['t1', 't2', 't3', 't4', 't5'])

df.plot.bar()

barh() 함수를 사용하여 가로 막대 플롯을 사용할 수도 있습니다.

또 다른 통찰력 있는 그래프는 상자 그림입니다. 각 기능 내 값의 분포를 이해하는 데 도움이 됩니다. plt.boxplot() 함수를 사용하여 상자 그림을 생성할 데이터를 지정할 수 있습니다. 플롯은 데이터 세트의 분산 또는 왜도를 빠르게 확인해야 할 때 특히 유용합니다. 사용 방법은 다음과 같습니다.

plt.boxplot(data_df['chol'])

통계 데이터로 작업할 때마다 반드시 산점도를 볼 수 있습니다. 산점도는 두 기능 간의 관계를 관찰하는 데 도움이 됩니다. 플롯에는 x축 데이터와 y축 모두에 대한 숫자 값이 필요합니다. plt.scatter() 함수에서 이 두 값을 제공하거나 x 및 y 속성에 열 이름을 지정하여 DataFrame에 직접 적용할 수 있습니다. 사용 방법은 다음과 같습니다.

plt.scatter(data_df['나이'], data_df['chol'])

지금이 씨본 기능을 소개할 적기입니다. seaborn의 산점도는 기본적으로 플롯에 회귀선을 제공하여 플롯을 더 잘 시각화하기 때문에 matplotlib보다 직관적입니다. sns.lmplot() 함수를 사용하여 해당 플롯을 만들 수 있습니다.

sns.lmplot('나이', '콜', 데이터=data_df)

위의 플롯에서 볼 수 있듯이 회귀선은 분포를 더 잘 이해하는 데 도움이 됩니다.

Seaborn을 사용한 또 다른 개선 사항은 Swarm Plot입니다. 범주형 산점도를 그리는 데 사용됩니다. 유사한 스트립 플롯에 비해 군집 플롯의 장점 중 하나는 겹치지 않는 점만 사용한다는 것입니다. 따라서 플롯이 더 깨끗하고 더 나은 통찰력을 제공합니다.

sns.swarmplot(data_df['나이'], data_df['chol'])

따라서 Matplotlib와 Seaborn의 다양한 유형의 플롯이 있습니다. 이것은 빙산의 일각에 불과하며 데이터에 대한 창의적인 통찰력을 추출하기 위해 데이터를 플로팅하는 수백 가지 다른 방법이 있습니다.

이제 플롯을 알았으므로 파이썬을 사용하여 실제 데이터 분석을 수행하는 방법을 살펴보겠습니다 . 우리는 더 많은 플롯을 살펴보고 파이썬을 사용한 데이터 분석 에 대해 무엇을 보여 주는지 확인할 것 입니다.

시작하자.

데이터를 로드한 후 데이터 분석가가 가장 먼저 하는 일은 팬더 프로필을 만드는 것입니다. 이제 이것은 지름길로도 볼 수 있지만 데이터 세트에 있는 변수의 모든 관계와 개수 및 히스토그램을 보려면 팬더 프로파일링을 사용할 수 있습니다. 생성하기가 매우 쉽습니다. 팬더 프로파일링 모듈을 다운로드하고 다음 코드를 입력하기만 하면 됩니다.

pandas_프로파일링 가져오기

프로필 = pandas_profileing.ProfileReport(data_df)

프로필

보시다시피 엄청난 양의 메타데이터 정보와 개별 기능 정보가 있습니다. 이것들은 큰 이해로 이어질 수 있습니다.

두 번째로 할 수 있는 일은 히트맵을 생성하는 것입니다. 이제 히트맵이 하는 일은 각 기능과 다른 기능의 상관 관계를 보여주는 것입니다. 그리고 상관관계가 더 높은 값을 찾으면 두 특성이 서로 매우 유사하다는 의미입니다. 따라서 기능 중 하나를 삭제할 수 있으며 여전히 모델은 잘 작동합니다.

sns.heatmap(data_df.corr(), 주석 = True , cmap='오렌지')

여기에서 관련성이 높은 항목이 없음을 알 수 있으므로 모델 엔지니어에게 모든 기능이 입력으로 필요하다고 말할 수 있습니다.

우리는 심장 질환 데이터 세트를 다루기 때문에 연령 분포가 무엇인지 알 수 있습니다. 분포를 보겠습니다. 그러면 seaborn의 distplot을 사용할 수 있습니다.

sns.distplot(data_df['나이'], 색상 = '청록색')

플롯에서 심장병을 앓고 있는 대부분의 사람들이 50~60세 사이라고 말할 수 있습니다. 같은 방식으로 tresbps로 표시되는 안정기 혈압과 같은 다른 중요한 기능도 볼 수 있습니다. 대상 값, 즉 0과 1과 비교하여 분포를 보기 위해 상자 그림을 만들 수 있습니다.

sns.boxplot(data_df['대상'], data_df['trestbps'], 팔레트 = '황혼')

플롯에서 사람이 tres bps가 낮으면 tres bps 값이 높은 사람보다 심장 질환을 앓을 가능성이 낮다는 결론을 내릴 수 있습니다.

같은 방식으로 콜레스테롤 수치와의 관계도 볼 수 있습니다. 우리는 콜레스테롤 수치가 낮은 사람들이 심장 질환을 앓을 가능성이 더 낮다는 것을 알고 있습니다.

이러한 모든 통찰력을 문서화하고 기계 학습 엔지니어에게 제공하면 효율적인 모델을 만드는 데 사용할 수 있습니다.

결론

이것이 python을 사용하여 데이터 분석을 수행하는 방법 입니다. 이것은 데이터 과학 여정의 첫 번째 단계일 뿐입니다. 데이터 및 전체 데이터 과학에서 창의적인 통찰력을 추출하는 방법에 대해 자세히 알아보려면 여기 에서 upGrad가 제공하는 과정으로 이동 하십시오 . 파이썬을 사용하여 데이터 분석을 효과적으로 안내하는 다양한 유용한 과정을 찾을 수 있습니다.

세계 최고의 대학에서 데이터 과학 과정배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

데이터 분석을 위해 Python을 배우려면 어떻게 해야 합니까?

데이터 분석을 위한 Python을 배우려는 길에 있다면 올바른 위치에 있습니다. 무엇이든 학습 프로세스를 더 간단하게 만들려면 단계별 접근 방식이 필요합니다. 프로세스는 다음과 같습니다.

1. 파이썬을 배우는 목적과 여러분의 분야에서 파이썬을 어떻게 사용할 수 있는지 명확히 하십시오.
2. 필요한 Python 터미널을 다운로드하여 시스템에 설치합니다.
3. 다양한 과정을 수강하고 다양한 Python 라이브러리에 대해 알아봄으로써 Python의 기초를 배우기 시작합니다.
4. 파이썬에서 사용되는 정규표현식에 익숙해진다.
5. Pandas, NumPy, Matplotlib 및 SciPy와 같은 다양한 Python 라이브러리에 대한 심층 지식을 얻으십시오.
6. 데이터 분석 개념과 Python을 함께 통합하는 방법을 배우기 시작합니다.
7. 이제 Python for Data Analysis를 더 잘하기 위해 다양한 도구와 기술을 계속 연습하면 됩니다. 이 단계별 접근 방식을 통해 Python을 매우 쉽게 배우고 데이터 분석 작업을 더 잘할 수 있습니다.

Python은 데이터 분석에 어떻게 사용됩니까?

Python은 데이터 분석에 매우 중요한 자원으로 알려져 있습니다. Python은 데이터 분석을 수행하는 데 다양한 방식으로 도움을 줍니다. 그러나 그 전에 분석할 데이터를 준비하고, 통계 분석을 수행하고, 통찰력을 제공할 수 있는 데이터 시각화를 만들고, 사용 가능한 데이터를 기반으로 미래 추세를 예측하는 등의 작업을 수행해야 합니다.

Python은 다음과 같은 점에서 데이터 분석의 중요한 요소인 것으로 밝혀졌습니다.

1. 데이터세트 가져오기
2. 분석 수행을 위한 데이터 정리 및 준비
3. Pandas DataFrame 조작
4. 데이터 세트 요약
5. Python으로 데이터 분석을 위한 머신 러닝 모델 개발

한 달 만에 파이썬을 배울 수 있습니까?

예, Java, C, C++ 등과 같은 다른 프로그래밍 언어에 능숙하다면 분명히 이 작업을 수행할 수 있습니다. 기반이 명확하다면 단 한 달 만에 Python을 배우는 것이 매우 쉽다는 것을 알게 될 것입니다. 그 외에도 노력을 기울이고 차근차근 차근차근 접근하면 다른 프로그래밍 언어에 대한 사전 지식이 없어도 한 달 만에 파이썬을 배울 수 있습니다. 일정을 정하고 한 달 안에 Python 학습에 전념하기만 하면 됩니다.