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%는
이러한 방법을 사용할 것이라고
자신 있게 말할 수 있습니다.
'Python > Pandas' 카테고리의 다른 글
특정 행(Row) 혹은 열(Column) 선택을 위한 Pandas 함수 - filter (0) | 2023.05.21 |
---|---|
데이터 랭글링(데이터 분석을 위한 15가지 Pandas 기능) (0) | 2023.02.24 |
Python-Pandas 함수 및 메서드(30) (0) | 2022.09.18 |
거의 모든 데이터 분석 작업을 해결하는 Pandas 필터링 방법 (0) | 2022.07.02 |
알아두면 유용한 pandas 단편 정보들 (0) | 2022.06.30 |
댓글