Python Pandas 튜토리얼: 초보자가 Python Pandas에 대해 알아야 할 모든 것

게시 됨: 2020-03-26

이 기사에서는 데이터 전문가에게 필수적인 인기 있는 Python 라이브러리 중 하나인 Pandas를 살펴보겠습니다. 당신은 그것의 기본과 작동에 대해 배우게 될 것입니다.

시작하자.

목차

팬더는 무엇입니까?

Python Pandas는 여러 가지 이유로 인기가 있습니다. 주요 응용 프로그램은 데이터 조작, 분석 및 정리입니다. 레이블이 지정되지 않은 데이터 및 정렬된 시계열 데이터를 포함하여 다양한 데이터 유형 및 데이터 세트에 사용할 수 있습니다. 간단히 말해서 Pandas는 데이터의 집이라고 할 수 있습니다. 이 도구를 사용하여 데이터에 대해 다양한 작업을 수행할 수 있습니다.

파일의 데이터 형식을 변환하고, 두 개의 데이터 세트를 병합하고, 계산하고, Matplotlib의 도움을 받아 시각화하는 등의 작업을 수행할 수 있습니다. 기능이 너무 많아 데이터 전문가들 사이에서 인기 있는 선택입니다. 그렇기 때문에 그것에 대해 배우는 것이 필수적입니다. 그리고 그 작동 방식을 이해하지 못하면 사용할 수 없으므로 이 Python Pandas 자습서에서는 동일한 내용에 중점을 둘 것입니다.

읽기: Python 데이터 시각화 라이브러리

데이터 과학에서 판다의 역할

Pandas 라이브러리는 모든 데이터 전문가의 무기고에서 없어서는 안될 부분입니다. 또 다른 인기 있는 Python 라이브러리인 NumPy를 기반으로 합니다. NumPy의 많은 구조가 Pandas에 있으므로 전자에 익숙하다면 후자에 익숙해지는 데 어려움이 없을 것입니다.

대부분의 경우 전문가들은 통계 분석을 위해 Pandas를 사용하여 SciPy에 데이터를 제공합니다. 그들은 또한 이 데이터를 Matplotlib 또는 Scikit-learn과 함께 기능에 사용합니다(각각 플로팅 기능 및 기계 학습).

Python의 기계 학습 라이브러리에 대해 자세히 알아보세요.

전제 조건

Python Pandas의 작동 방식과 그 작업에 대해 논의하기 전에 먼저 누가 이를 적절하게 사용할 수 있고 누가 사용할 수 없는지 명확히 해야 합니다. 먼저 Python의 기본 코드와 NumPy에 익숙해야 합니다.

첫 번째 것, 즉 Python의 기본 사항은 분명한 이유로 중요합니다. 파이썬 코드가 어떻게 작동하는지 모르면 많은 것을 이해하지 못할 것입니다. 그리고 그렇게 해도 기본 코드를 먼저 배워야 하므로 코드를 시험해 볼 수 없습니다.

두 번째 NumPy는 Pandas가 NumPy를 기반으로 하기 때문에 배워야 합니다. NumPy를 이해하면 Pandas에 익숙해지는 데 상당한 도움이 됩니다.

데이터 과학 및 Python에 대한 블로그를 통해 Python에 대해 배울 수 있습니다 . 기본 사항을 익힐 수 있는 유용한 가이드와 기사가 많이 있습니다. 무료이며 의심이 가는 경우 댓글 섹션에 적어둘 수 있습니다.

우리가 언급한 두 가지 주제에 모두 익숙하다면 Pandas를 자세히 살펴보겠습니다.

판다 설치

Pandas를 사용하려면 설치해야 합니다. 가장 좋은 점은 Pandas의 설치 및 가져오기가 매우 쉽다는 것입니다. 명령줄을 열고(Mac을 사용하는 경우 터미널을 열어야 함) 다음 코드를 사용하여 Pandas를 설치합니다.

PC 사용자: pip install pandas

Mac 사용자의 경우: conda install pandas

Pandas에서는 시리즈와 데이터 프레임을 다룰 것입니다. 계열이 열을 참조하는 동안 데이터 프레임은 여러 계열이 있는 다차원 테이블을 참조합니다. 이제 Pandas에서 수행할 수 있는 작업을 살펴보겠습니다.

판다에서의 작업

중요성과 정의에 대해 논의했으므로 이제 이 Python Pandas 자습서에서 수행할 수 있는 작업을 고려해야 합니다. Pandas는 많은 기능을 제공하며 아래에서 논의했습니다.

데이터 보기

시각적 참조로 유지하기 위해 처음에 데이터 세트의 일부 행을 인쇄하고 싶을 것입니다. 그리고 .head() 함수로 그렇게 할 수 있습니다.

file1.head()

이 함수는 데이터 프레임의 처음 5개 행을 제공합니다. 처음 5개보다 더 많은 행을 얻으려면 함수에 필요한 수를 전달하면 됩니다. 데이터 프레임의 처음 15개 행을 원한다고 가정하고 다음 코드를 작성합니다.

file1.head(15)

데이터 프레임의 마지막 5개 행을 볼 수도 있습니다. .tail() 함수를 사용하여 그렇게 할 수 있습니다. .head() 함수와 마찬가지로 .tail() 함수도 숫자를 받아 필요한 행 수를 제공할 수 있습니다.

file1.tail(20)

이 코드는 데이터 프레임의 마지막 20개 행을 제공합니다.

정보 얻기

데이터 과학자가 Pandas와 함께 사용하는 첫 번째 기능 중 하나는 .info()입니다. 이는 데이터 프레임에 대한 정보를 표시하고 작업 중인 항목에 대한 더 깊은 이해를 제공하기 때문입니다. Pandas에서 사용하는 방법은 다음과 같습니다.

file1.info()

null이 아닌 값의 수량, 행 수, 열에 있는 데이터 유형 등과 같은 데이터 세트에 대한 유용한 정보를 많이 제공합니다.

데이터 프레임 값의 데이터 유형을 아는 것은 많은 경우에 필수적입니다. 데이터에 대해 산술 연산을 수행해야 하지만 문자열이 있다고 가정합니다. 수학 연산을 실행할 때 문자열에 대해 이러한 연산을 수행할 수 없기 때문에 오류 팝업이 표시됩니다. 반면에 작업을 수행하기 전에 .info() 함수를 사용한다면 문자열이 있다는 것을 이미 알고 있을 것입니다.

.info() 함수가 데이터세트에 대한 일반 정보를 표시하는 동안 .shape 속성은 데이터 프레임의 튜플을 제공합니다. .shape 속성을 사용하여 데이터 세트에 몇 개의 행과 열이 있는지 확인할 수 있습니다. 그리고 다음과 같은 방법으로 사용할 수 있습니다.

파일1.모양

이 속성에는 행과 열의 튜플만 제공하기 때문에 괄호가 없습니다. 데이터를 정리하는 동안 .shape 속성을 자주 사용하게 됩니다.

또한 배우십시오: 인도의 Python 개발자 급여

연쇄

이제 이 Python Pandas 자습서에서 연결 속성에 대해 논의해 보겠습니다. 연결(Concatenation)은 두 개 이상의 것을 함께 연결하는 것을 의미합니다. 따라서 이 속성을 사용하면 값이나 데이터 포인트를 어떤 식으로든 수정하지 않고 두 데이터세트를 결합할 수 있습니다. 그것들은 그대로 함께 결합됩니다. 이를 위해 .concat() 함수를 사용해야 합니다. 방법은 다음과 같습니다.

결과 = pd.concat([파일1, 파일2])

file1 및 file2 데이터 프레임을 결합하여 단일 데이터 프레임으로 표시합니다.

df1 = pd.DataFrame({"HPI":[80,90,70,60],"Int_Rate":[2,1,2,3], "IND_GDP":[50,45,45,67]}, 인덱스=[2001, 2002,2003,2004])

df2 = pd.DataFrame({"HPI":[80,90,70,60],"Int_Rate":[2,1,2,3],"IND_GDP":[50,45,45,67]}, 인덱스=[2005, 2006,2007,2008])

연결 = pd.concat([df1,df2])

인쇄(연결)

위 코드의 출력:

HPI IND_GDP Int_Rate

2001년 80 50 2

2002 90 45 1

2003년 70 45 2

2004 60 67 3

2005년 80 50 2

2006 90 45 1

2007 70 45 2

2008 60 67 3

.concat() 함수가 두 데이터 프레임을 결합하여 하나로 변환하는 방법을 눈치채셨을 것입니다.

인덱스 변경

데이터 프레임의 인덱스 값도 변경할 수 있습니다. 이를 위해서는 .set_index() 함수를 사용해야 합니다. 이 함수의 괄호 안에 인덱스를 변경하려면 세부 정보를 입력해야 합니다. 더 잘 이해하려면 다음 예를 살펴보십시오.

pandas를 pd로 가져오기

df= pd.DataFrame({"일":[1,2,3,4], "방문자":[200, 100,230,300], "이탈률":[20,45,60,10]})

df.set_index("일", inplace= True)

인쇄(df)

위 코드의 출력:

Bounce_Rate 방문자

1 20 200

2 45 100

3 60 230

4 10 300

우리 코드가 날짜별로 데이터의 인덱스 값을 변경한 것을 볼 수 있습니다.

열 머리글 변경

Python Pandas에서도 열 헤더를 변경할 수 있습니다. .rename() 함수를 사용하기만 하면 됩니다. 괄호 안에 처음에 있던 열 이름과 출력 코드에 표시하려는 열 이름을 입력할 수 있습니다.

열 머리글이 '시간'인 테이블이 있고 이를 '시간'으로 변경하려고 한다고 가정합니다. 다음 코드를 사용하여 이 열의 이름을 변경할 수 있습니다.

df = df.rename(columns={"시간" : "시"})

이 코드는 열 머리글의 이름을 '시간'에서 '시간'으로 변경합니다. 효율적인 실습을 위한 훌륭한 기능입니다. 데이터 형식을 변환하는 방법을 살펴보겠습니다.

데이터 정리

데이터 통합을 사용하면 특정 데이터의 형식을 변환하는 옵션이 있습니다. .csv 파일을 .html 파일로 변환하거나 그 반대로 변환할 수 있습니다. 다음은 그렇게 하는 방법의 예입니다.

pandas를 pd로 가져오기

country= pd.read_csv(“D:UsersUser1Downloadsworld-bank-youth-unemploymentAPI_ILO_country_YU.csv”,index_col=0)

country.to_html('file1.html')

이 코드를 실행하면 브라우저에서 실행할 수 있는 HTML 파일이 생성됩니다. 데이터 뭉치는 훌륭한 기능이며 많은 상황에서 사용할 수 있습니다.

결론

이제 이 Python Pandas 자습서의 끝에 도달했습니다. 유용하고 유익한 정보가 되셨기를 바랍니다. Python Pandas는 방대한 주제이며 수많은 기능을 가지고 있기 때문에 완전히 익숙해지려면 시간이 걸립니다.

Python, Pandas를 비롯한 Python의 다양한 라이브러리 및 데이터 과학에서의 응용에 대해 자세히 알아 보려면 작업 전문가를 위해 만들어졌으며 10개 이상의 사례 연구 및 프로젝트, 실용적인 실습 워크샵, 업계 전문가와의 멘토링, 업계 멘토와의 1:1 학습, 최고의 기업과의 400시간 이상의 학습 및 직업 지원.

Pandas를 사용하려면 Python을 알아야 하나요?

Pandas를 시작하기 전에 Python용으로 빌드된 패키지라는 것을 이해해야 합니다. 따라서 Pandas를 쉽게 사용하려면 Python 프로그래밍 구문과 기본 사항을 확실히 이해해야 합니다. Python에서 테이블 형식 데이터로 작업할 때마다 Pandas가 최고의 선택으로 간주됩니다.

그러나 Pandas를 시작하기 전에 Python에서 사용되는 구문을 명확하게 이해해야 합니다. 많은 시간을 할애할 필요는 없지만 Pandas와 관련된 작업을 시작할 수 있도록 기본 구문을 이해하는 데 충분한 시간만 투자하면 됩니다.

Python에서 Pandas를 배우는 데 얼마나 걸립니까?

Pandas는 테이블 형식 데이터를 처리하기 위해 가장 널리 사용되는 Python 라이브러리입니다. Excel을 사용할 수 있는 모든 작업에 Pandas를 사용할 수 있습니다. Python 프로그래밍과 그 구문을 이미 알고 있다면 2주 안에 Pandas의 기능에 쉽게 익숙해질 수 있습니다. Pandas를 시작할 때 이해를 돕기 위해 기본 데이터 조작 프로젝트부터 시작해야 합니다.

계속 진행하면서 Pandas가 여러 산업에서 비즈니스 결정을 이끄는 핵심 요소가 될 수 있는 매우 유용한 데이터 과학 도구라는 것을 알게 될 것입니다.

Numpy 또는 Pandas를 먼저 배우는 것을 선호해야 합니까?

Numpy는 과학 컴퓨팅을 위한 Python의 가장 기본적인 모듈이기 때문에 Pandas보다 Numpy를 먼저 배우는 것이 좋습니다. 또한 모든 기계 학습 알고리즘의 가장 기본적인 데이터 구조로 간주되는 고도로 최적화된 다차원 배열의 지원을 받게 됩니다.

Numpy 학습을 마치면 Pandas가 Numpy의 확장으로 간주되기 때문에 Pandas로 시작해야 합니다. Pandas의 기본 코드가 Numpy 라이브러리를 광범위하게 사용하기 때문입니다.