본문 바로가기
Python/Pandas

Pandas Pro가 되기 위해 마스터해야 하는 30가지 방법

by 찐남 2023. 5. 28.

Pandas는 의심의 여지없이 

테이블 형식 데이터 랭글링 및 처리 작업을 위해 

Python으로 구축된 

최고의 라이브러리 중 하나입니다.

오픈 소스이기 때문에 

전 세계 여러 지역의 수많은 개발자가 

개발에 기여하여 

다양한 작업을 위한 

수백 가지 방법을 지원하여 

오늘날의 위치에 도달했습니다.

그러나 초보자가 Pandas 라이브러리에서

확고한 자리를 잡으려고 하는 경우

Pandas의 공식 문서로 시작하면

처음에는 상황이 매우 벅차고

압도적으로 보일 수 있습니다.

(이거 언제다 익히냐????)

 

이번 포스팅에서는 Pandas를 시작하는 데

도움을 주기 위한 것입니다.

이번 포스팅에서는

Pandas를 사용한 경험을 되돌아보고,

거의 항상 사용했던

30가지 구체적인 방법에 대해서 살펴보겠습니다.

 

라이브러리 가져오기

Pandas 라이브러리를 사용하려면

import 해야 합니다.

import시 일반적으로 사용하는 규칙은

pandas의 별칭을 pd로 설정하는 것입니다.

 

import pandas as pd

 

#1 CSV 읽기

CSV는 일반적으로 

Pandas DataFrames를 읽을 수 있는 

가장 일반적인 파일 형식입니다.

pd.read_csv() 메서드를 사용하여 

Pandas DataFrame을 만들 수 있습니다.

type() 메서드를 사용하여 

생성된 객체의 유형을 확인할 수 있습니다.

#2 DataFrame을 CSV로 저장하기

CSV는 DataFrame을 읽는 데 

널리 사용되므로 

DataFrame을 덤프하는 데에도 

널리 사용됩니다.

아래와 같이 

df.to_csv() 메서드를 사용합니다.

구분 기호(sep)는 열 구분 기호를 나타내며 

index=False는 Pandas가 CSV 파일에 

DataFrame의 인덱스를 쓰지 않도록 지시합니다.

 

#3–4 DataFrame 만들기

Pandas DataFrame을 만들려면 

pd.DataFrame() 메서드를 사용합니다.

 

From a list of lists

널리 사용되는 방법 중 하나는 

주어진 리스트의 리스트를

DataFrame으로 변환하는 것입니다.

 

From a Dictionary

또 다른 인기있는 방법은 

Python 딕셔너리를

DataFrame으로 변환하는 것입니다.

#5 DataFrame의 모양

DataFrame은 본질적으로 

열 헤더가 있는 행렬입니다. 

따라서 특정 수의 행과 열이 있습니다.

다음과 같이 shape 인수를 사용하여

치수를 출력할 수 있습니다.

여기서 튜플의 첫 번째 요소(2)는 행 수이고,

두 번째 요소(3)는 열 수입니다.

 

#6 상위 N개 행 보기

일반적으로 실제 데이터 세트에는 

많은 행이 있습니다.

이러한 상황에서 일반적으로 

DataFrame의 처음 n개 행만 보는 데 

관심이 있습니다.

df.head(n) 메서드를 사용하여 

처음 n개의 행을 출력할 수 있습니다.

 

#7 컬럼의 데이터 타입 출력하기

Pandas는 DataFrame의 모든 열에 

적절한 데이터 유형을 할당합니다.

dtypes 인수를 사용하여 

모든 열의 데이터 유형을 출력할 수 있습니다.

 

#8 열의 데이터 유형 수정

열의 데이터 유형을 변경하려면 

다음과 같이 astype() 메소드를 사용할 수 있습니다.

 

#9–10 DataFrame에 대한 설명 정보 출력

방법1

첫 번째 방법(df.info())은 

누락된 값 통계 및 데이터 유형을 

출력하는 데 사용됩니다.

방법2

이것은 방법1보다 더 설명적이며 

모든 숫자 값 열의 평균, 표준 편차, 최댓값 등과 같은 

표준 통계를 출력합니다.

메서드는 df.describe()입니다.

 

 

#11 NaN 값 채우기

누락된 데이터는 실제 데이터 세트에서 

거의 불가피하게 항상 발생합니다.

여기에서 df.fillna() 메서드를 사용하여 

특정 값으로 바꿀 수 있습니다.

#12 DataFrame 결합

결합 키로 두 개의 DataFrame을 병합하려면 

pd.merge() 메서드를 사용하세요.

 

#13 DataFrame 정렬

정렬은 데이터 과학자가 

DataFrame을 주문하는 데 사용하는 

또 다른 일반적인 작업입니다.

df.sort_values() 메서드를 사용하여 

DataFrame을 정렬할 수 있습니다.

 

#14 DataFrame 그룹화

DataFrame을 그룹화하고 집계를 수행하려면 

아래와 같이 Pandas에서 groupby() 메서드를 사용합니다.

 

#15 열 이름 바꾸기

열 머리글의 이름을 바꾸려면 

아래와 같이 df.rename() 메서드를 

사용하시면 됩니다. 

 

#16 열 삭제

열을 삭제하려면 df.drop() 메서드를 사용합니다.

 

#17 새 열 추가하기

새 열을 추가하는 데 널리 사용되는 

두 가지 접근 방식은 다음과 같습니다.

방법1

할당 연산자를 사용하여 새 열을 추가할 수 있습니다.

방법2

또는 다음과 같이 

df.assign() 메서드를 사용할 수도 있습니다.

 

#18–21 DataFrame 필터링

조건에 따라 DataFrame을 

필터링하는 다양한 방법이 있습니다.

방법 1: Boolean Filtering

여기에서 해당 행의 조건이 True로 평가되면 

행이 선택됩니다.

isin() 메서드는 값 리스트에 속하는 값을 가진 행을

선택하는 데 사용됩니다.

방법 2: 열 가져오기

다음과 같이 전체 열을 필터링할 수도 있습니다.

방법 3: 레이블로 선택

레이블 기반 선택에서 요청된 모든 레이블은 

DataFrame의 인덱스에 있어야 합니다.

정수도 유효한 레이블이지만
위치가 아닌 레이블을 참조합니다.

라벨 기반 선택을 위해 df.loc 방법을 사용합니다.

 

그러나 df.loc[]에서는 아래와 같이 

위치를 사용하여 DataFrame을 필터링할 수 없습니다.

위와 같이 하려면 df.iloc[]를 사용하여 

위치 기반 선택을 사용해야 합니다.

방법 4: 위치 기반 선택

 

 

#22–23 DataFrame에서 고유한 값 찾기

열의 모든 고유 값을 인쇄하려면 

unique() 메서드를 사용하시면 됩니다.

고유 값의 수를 출력하려면

nunique()를 사용하시면 됩니다.

 

#24 DataFrame에 함수 적용하기

열에 함수를 적용하려면 아래와 같이 

apply() 메서드를 사용합니다.

 

다음과 같이 단일 열에 메서드를 적용할 수도 있습니다.

 

#25–26 중복 처리

df.duplicated() 메서드를 사용하여 

모든 반복 행을 표시할 수 있습니다.

또한 다음과 같이 df.drop_duplicates() 메서드를 사용하여 

중복된 행을 삭제할 수 있습니다.

 

#27 값의 분포 찾기

열에서 각 고유 값의 빈도를 찾으려면 

value_counts() 메서드를 사용합니다.

 

#28 DataFrame 인덱스 재설정

DataFrame의 인덱스를 재설정하려면 

df.reset_index() 메서드를 사용합니다.

 

이전 인덱스를 삭제하려면 drop=True를 

위 메서드의 인수로 전달합니다.

 

#29 교차표 찾기

두열에서 각 값 조합의 빈도를 반환하려면 

pd.crosstab() 메서드를 사용합니다.

 

#30 DataFrame 피벗

피벗 테이블은 

Excel에서 일반적으로 사용되는 

데이터 분석 도구입니다. 

 

위에서 설명한 교차 분석과 유사하게 

Pandas의 피벗 테이블은 

데이터를 교차 표로 만드는 방법을 제공합니다.

아래의 DataFrame을 이용하겠습니다.

pd.pivot_table() 메서드를 사용하면 

열 항목을 열 머리글로 변환할 수 있습니다.

 

이상 Pandas에서 가장 유용한

30가지 방법에 대해 알아보았습니다.

결론적으로 Pandas 작업 시간의 95%는 

이러한 방법을 사용할 것이라고 

자신 있게 말할 수 있습니다.

 

 

반응형

댓글