Pandas Drop Index 칼럼: 예제로 설명

Pandas는 데이터 조작 및 분석에 널리 사용되는 Python 라이브러리입니다. Pandas가 제공할 수 있는 한 가지 필수 기능은 데이터 세트의 구조를 수정하는 기능입니다. 특히 DataFrame에서 인덱스를 삭제하는 것은 데이터 세트로 작업할 때 중요한 작업입니다. 데이터에서 원하지 않는 행이나 열을 제거할 수 있습니다.

pandas로 색인을 삭제하려면 .drop() 및 .reset_index() 메서드를 사용할 수 있습니다. .drop() 메서드를 사용하면 특정 행이나 열을 제거할 수 있습니다. 반면에 .reset_index() 메서드를 사용하면 인덱스를 제거하고 기본 RangeIndex로 재설정할 수 있습니다.

Pandas Drop Index 칼럼: 예제로 설명

이 기사에서는 이러한 방법을 사용하여 pandas DataFrames에서 인덱스를 삭제하는 방법에 대해 설명합니다. 다양한 예를 통해 다양한 분석 요구에 맞게 데이터 세트의 구조를 효과적으로 조작하는 방법을 보여줍니다. 이 예제를 통해 pandas 라이브러리를 데이터 조작에 활용하는 방법을 더 깊이 이해할 수 있습니다.

그것에 들어가자!

목차

Pandas Drop Index 이해하기

pandas를 사용하여 인덱스를 삭제하기 전에 pandas DataFrame이 무엇인지 이해하는 것이 매우 중요합니다. 또한 pandas DataFrame의 인덱스 및 열 개념도 잘 알고 있어야 합니다.

Pandas Drop Index 칼럼: 예제로 설명

이 섹션에서는 pandas DataFrame, 인덱스 및 열의 기본 사항을 다룹니다. 그런 다음 pandas를 사용하여 인덱스를 삭제하는 예를 살펴보겠습니다.

1. 판다스 데이터프레임이란?

Pandas는 고성능 데이터 조작 및 분석 도구를 제공하는 오픈 소스 Python 라이브러리입니다. 핵심 데이터 구조 중 하나는 DataFrame 입니다 .

Pandas DataFrame은 레이블이 지정된 축(행 및 열)이 있는 2차원 데이터 구조입니다. DataFrame을 SQL 테이블 또는 Excel 스프레드시트의 Python 개체 표현으로 생각할 수 있습니다.

다음은 일반적인 pandas DataFrame입니다.

Pandas Drop Index 칼럼: 예제로 설명

2. 인덱스와 열이란 무엇입니까?

pandas DataFrame에서 인덱스는 데이터 포인트의 '주소' 역할을 합니다. DataFrame 전체에서 데이터에 액세스하고 구성하는 수단을 제공합니다. pandas에서 할당한 기본 정수 시퀀스이거나 사용자 정의 사용자 정의 인덱스일 수 있습니다.

열은 DataFrame에서 다양한 유형의 데이터를 호스팅하는 변수입니다. 각 열은 기본적으로 일련의 데이터입니다. 정수, 실수 또는 문자열과 같은 다양한 데이터 유형을 보유할 수 있습니다. 일반적으로 열 이름이라고 하는 열의 레이블은 이 일련의 데이터를 식별합니다.

pandas DataFrame에서 데이터 조작에는 종종 행 레이블(인덱스) 또는 열 레이블 작업이 포함됩니다.

다중 인덱스 DataFrame으로 수행할 수 있는 몇 가지 일반적인 작업에는 레이블을 기반으로 행 또는 열 선택, 이름 바꾸기 및 삭제가 포함됩니다.

3. Pandas로 인덱스 열을 삭제하는 방법

pandas에서는 DataFrame 메서드 reset_index()를 사용하여 인덱스를 삭제하고 재설정할 수 있습니다.

다음 DataFrame이 있다고 가정합니다.

Pandas Drop Index 칼럼: 예제로 설명

인덱스 열을 삭제하려면 다음 코드를 사용할 수 있습니다.

df.reset_index(drop=True)

이 코드를 실행하면 아래 예제가 표시됩니다.

Pandas Drop Index 칼럼: 예제로 설명

출력에서 인덱스가 삭제되고 원래 인덱스 값으로 대체된 것을 볼 수 있습니다.

Pandas의 drop 메서드를 사용하여 행 또는 열에서 지정된 레이블을 제거할 수도 있습니다 .

이 방법의 구문은 다음과 같습니다.

DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

다음은 drop 메서드 의 주요 매개변수입니다 .

  • labels : 제거할 레이블입니다. 축 매개 변수 에 따라 행 또는 열이 될 수 있습니다 .

  • axis : 행( 0 또는 'index' ) 또는 열( 1 또는 'columns' ) 에서 삭제할지 여부를 결정합니다 .

  • index : axis=0 지정에 대한 대안입니다 . 제거할 행 레이블을 표시할 수 있습니다.

  • columns : axis=1 지정에 대한 대안입니다 . 제거할 열 레이블을 표시할 수 있습니다.

  • inplace : True 로 설정하면 작업이 제자리에서 수행되며 이는 원본 DataFrame이 수정됨을 의미합니다. False (기본값) 이면 지정된 레이블이 제거된 새 DataFrame이 반환됩니다.

  • errors : 누락된 레이블을 처리하는 방법을 제어합니다. 'raise' (기본값) 인 경우 레이블을 찾을 수 없을 때 오류가 발생합니다. 'coerce' 인 경우 누락된 레이블은 자동으로 무시됩니다.

다음 DataFrame이 있다고 가정합니다.

Pandas Drop Index 칼럼: 예제로 설명

인덱스가 1인 행을 삭제하려고 합니다. 삭제 방법을 사용하여 이를 수행하려면 import pandas로 시작하는 다음 코드를 작성할 수 있습니다.

import pandas as pd

# Drop row with index 1
df.drop(1, axis=0)

drop 함수 의 axis =0 인수는 인터프리터에게 우리가 행 방향 연산을 수행하고 있음을 알려줍니다. 두 번째 인수 1은 행 인덱스입니다. 인터프리터에게 인덱스 1이 있는 행을 삭제하라고 지시합니다.

위 작업 후 다음 DataFrame을 얻습니다.

Pandas Drop Index 칼럼: 예제로 설명

이제 DataFrame에서 열 머리글로 Age가 있는 열을 삭제한다고 가정해 보겠습니다. 이를 달성하기 위해 다음 코드를 작성할 수 있습니다.

# Drop column 'Age'
df.drop('Age', axis=1)

인수 axis=1은 인터프리터에게 우리가 열 단위 연산을 수행하고 있음을 알려줍니다. 인수 'Age'는 인터프리터에게 이름이 'Age'인 열을 삭제하도록 지시합니다.

위의 코드를 실행하면 다음과 같은 DataFrame을 얻게 됩니다.

Pandas Drop Index 칼럼: 예제로 설명

여러 행과 열을 삭제하는 방법

위의 예는 단일 행 또는 열을 삭제하는 방법을 보여줍니다. 여러 행이나 열을 삭제하려면 어떻게 해야 합니까?

이를 달성하기 위해 몇 가지 약간 변경하여 동일한 코드를 사용합니다. 단일 값을 사용하는 대신 drop 함수에 인수 목록 을 제공하여 한 번에 여러 행과 열을 제거할 수 있습니다.

DataFrame에서 처음 2개의 행을 삭제하고 싶다고 가정해 보겠습니다. 이를 달성하기 위해 다음 코드를 사용할 수 있습니다.

# Dropping first 2 rows by index
df = df.drop([0, 1], axis=0)

이 코드에서는 인터프리터에게 행 0과 1을 삭제하라고 지시합니다. 이 코드의 출력은 다음과 같습니다.

Pandas Drop Index 칼럼: 예제로 설명

행 0과 1이 더 이상 DataFrame에 없음을 알 수 있습니다.

Department 및 Salary 열도 삭제하겠습니다. 이를 위해 다음 코드를 사용할 수 있습니다.

# Dropping columns by name
df = df.drop(['Salary', 'Department'], axis=1)

Python 스크립트에서는 통역사에게 Salary 및 Department가 있는 열을 열 머리글로 삭제하도록 요청하고 있습니다. 이 코드의 출력은 다음과 같습니다.

Pandas Drop Index 칼럼: 예제로 설명

이것이 우리의 마지막 DataFrame입니다. drop 메서드를 사용하여 DataFrame에서 총 2개의 행과 2개의 열을 삭제했습니다.

Pandas의 MultiIndex에 대해 자세히 알아보려면 다음 동영상을 확인하세요.

Inplace를 사용하여 행과 열을 삭제하는 방법

이전 예에서 먼저 DataFrame을 변경한 다음 새 DataFrame으로 저장하는 것을 볼 수 있습니다. 그러나 이것은 행과 열을 삭제하는 효율적인 방법이 아닙니다.

행과 열을 삭제하는 또 다른 대안은 삭제 함수의 inplace 인수를 True 로 설정하는 것입니다 .

inplace 매개변수를 True 로 설정하면 DataFrame을 재할당하지 않고도 영구적으로 수정할 수 있습니다.

이는 새 DataFrame 생성을 방지하여 메모리를 절약할 수 있으므로 큰 DataFrame을 처리할 때 유용합니다.

다음은 inplace 로 행과 열을 삭제하는 예입니다 .

# Dropping rows by index inplace
df.drop(labels=[0, 1], axis=0, inplace=True)

# Dropping columns by name inplace
df.drop(['Salary', 'Department'], axis=1, inplace=True)

위 코드의 출력은 다음과 같습니다.

Pandas Drop Index 칼럼: 예제로 설명

여기에서 새로운 DataFrame을 생성하는 것이 아니라 원래 DataFrame을 변경하는 것을 볼 수 있습니다.

Pandas에서 인덱스로 작업하는 방법

이 섹션에서는 pandas DataFrame 에서 인덱스로 작업하는 방법에 대해 설명합니다 . 다음 두 하위 섹션을 다룹니다.

  1. 인덱스 설정 및 재설정

  2. ID 및 인덱스 열

1. 인덱스 설정 및 초기화 방법

Pandas 작업의 한 가지 중요한 측면은 인덱스 열을 설정하고 재설정하는 방법을 이해하는 것입니다. 인덱스는 각 행의 키 식별자이며 이를 변경하려는 경우가 있습니다.

새 색인 설정

새 인덱스를 설정하려면 set_index() 메서드를 사용할 수 있습니다. set_index 구문은 다음과 같습니다.

df.set_index('column_name', inplace=True)

여기서 inplace=True 인수는 기존 DataFrame을 변경한다는 의미입니다.

이를 시연하기 위해 다음 DataFrame을 사용합니다.

Pandas Drop Index 칼럼: 예제로 설명

Name 열을 DataFrame의 인��스로 만들고 싶다고 가정해 보겠습니다. 이를 달성하기 위해 다음 코드를 사용할 수 있습니다.

df.set_index('Name', inplace=True)

이 Python 스크립트는 Name을 DataFrame의 인덱스로 만듭니다 . 이 코드의 출력은 다음과 같습니다.

Pandas Drop Index 칼럼: 예제로 설명

인덱스 값 재설정

인덱스를 기본 형식(예: 0에서 DataFrame 길이 빼기 1까지의 RangeIndex )으로 재설정하려면 reset_index() 메서드를 사용할 수 있습니다.

reset_index() 구문은 다음과 같습니다.

df.reset_index(drop=True, inplace=True)

drop=True 를 설정하면 현재 인덱스 열이 제거되는 반면 inplace=True 는 변경 사항이 새로 만들지 않고 DataFrame에 직접 적용되도록 합니다.

이 코드를 이전 DataFrame에 적용하면 다음과 같은 결과가 나타납니다.

Pandas Drop Index 칼럼: 예제로 설명

이전에 인덱스였던 Name이 기본값으로 재설정된 것을 볼 수 있습니다.

2. 인덱스 열을 사용한 추가 작업

예를 들어 CSV 파일에서 DataFrame을 가져올 때 index_col 매개변수를 사용하여 인덱스로 사용할 열을 지정할 수 있습니다.

index_col 의 구문은 다음과 같습니다.

df = pd.read_csv('data.csv', index_col='column_name')

또한 인덱스 열 없이 DataFrame을 내보내려면 인덱스 매개 변수를 False 로 설정할 수 있습니다.

이 방법의 구문은 다음과 같습니다.

df.to_csv('output.csv', index=False)

이제 인덱스 삭제 방법을 이해했으므로 다음 섹션에서는 삭제 기능을 사용할 때 오류를 처리하는 방법을 살펴보겠습니다.

Pandas에서 Drop 기능을 사용할 때 오류를 처리하는 방법

이 섹션에서는 Pandas의 드롭 기능을 사용하여 DataFrame에서 인덱스 열을 제거할 때 오류 및 특수 사례를 처리하는 방법을 살펴봅니다 .

특히 다음 사항에 대해 논의합니다.

  1. 키 오류 처리

  2. 중복 행 작업

1. KeyError 처리 방법

Pandas에서 드롭 기능을 사용할 때 지정된 인덱스 또는 열이 DataFrame에서 발견되지 않으면 KeyError가 발생할 수 있습니다.

이 오류가 발생하지 않도록 하려면 errors 매개 변수를 사용할 수 있습니다. errors 매개변수에는 'raise' 및 'ignore' 두 가지 옵션이 있습니다. 기본적으로 'raise'로 설정되어 있는데, 이는 지정된 인덱스나 열을 찾을 수 없는 경우 KeyError가 발생함을 의미합니다.

그러나 오류를 억제하고 코드를 계속 실행하려면 '무시'로 설정할 수 있습니다.

다음 DataFrame이 있다고 가정합시다. DataFrame에 존재하지 않는 행을 삭제하고 어떤 일이 발생하는지 확인하십시오.

# Attempt to drop a non-existent index, will raise KeyError
# df.drop(5, inplace=True)

Python 스크립트는 다음 오류를 표시합니다.

이러한 오류를 처리하려면 데이터 세트에 있는 행을 참조하고 있는지 확인하십시오.

2. 중복 행 작업 방법

데이터를 정리할 때 중요한 작업은 중복을 찾아 제거하는 것입니다.

DataFrame에서 중복 행을 처리하면 삭제 기능을 사용할 때 복잡성이 추가될 수 있습니다.

중복된 인덱스 값을 기준으로 행을 삭제하려면 duplicated 함수를 사용한 다음 부울 인덱싱을 사용하여 중복되지 않은 행만 선택할 수 있습니다.

다음 DataFrame이 있다고 가정합니다.

Pandas Drop Index 칼럼: 예제로 설명

데이터 세트에 중복 인덱스가 있음을 알 수 있습니다. 중복을 제거하려면 먼저 다음 코드를 사용하여 중복 값을 식별합니다.

# Find duplicated index values
duplicated_rows = df.index.duplicated(keep='first')

그런 다음 중복되지 않은 행만 선택하고 다음 코드를 사용하여 이전 DataFrame에 저장합니다.

# Select only non-duplicated rows
df = df[~duplicated_rows]

최종 출력은 다음과 같습니다.

최종 출력에는 더 이상 중복 행이 없습니다.

마지막 생각들

데이터 과학 및 분석 여정을 계속하면서 데이터를 조작하고 관리하는 방법을 이해하는 것이 가장 중요한 기술이 될 것입니다.

pandas에서 인덱스 삭제와 같은 작업을 마스터하는 것이 이 작업의 핵심 부분입니다. 인덱스를 재설정하거나 삭제하는 방법을 아는 것은 데이터를 정리, 변환 및 도출하기 위한 디딤돌입니다.

인덱스를 삭제하는 방법을 배우면 DataFrames를 보다 효과적으로 재구성할 수 있습니다. 또한 더 쉽게 읽고 분석할 수 있는 깔끔한 데이터 세트를 만들 수 있습니다. 또한 인덱스 충돌이 발생할 수 있는 여러 DataFrame을 병합하거나 연결할 때 인덱스를 재설정하는 것이 중요할 수 있습니다.

인덱스를 삭제하는 기능을 통해 데이터 세트를 더 잘 제어하고 유연하게 사용할 수 있습니다!

Leave a Comment

SharePoint의 계산된 열 | 개요

SharePoint의 계산된 열 | 개요

SharePoint에서 계산된 열의 중요성과 목록에서 자동 계산 및 데이터 수집을 수행하는 방법을 알아보세요.

Power Apps에서 변수 만들기: 컬렉션 작업

Power Apps에서 변수 만들기: 컬렉션 작업

컬렉션 변수를 사용하여 Power Apps에서 변수 만드는 방법 및 유용한 팁에 대해 알아보세요.

Microsoft Flow HTTP 트리거 | Power Automate 자습서

Microsoft Flow HTTP 트리거 | Power Automate 자습서

Microsoft Flow HTTP 트리거가 수행할 수 있는 작업과 Microsoft Power Automate의 예를 사용하여 이를 사용하는 방법을 알아보고 이해하십시오!

Power Automate 흐름: 사용법 및 유형 설명

Power Automate 흐름: 사용법 및 유형 설명

Power Automate 흐름 및 용도에 대해 자세히 알아보세요. 다양한 작업 및 시나리오에 사용할 수 있는 다양한 유형의 흐름에 대해 설명합니다.

흐름에서 Power Automate 종료 작업 제어

흐름에서 Power Automate 종료 작업 제어

조건이 충족되지 않는 경우 흐름에서 작업을 종료하는 Power Automate 종료 작업 컨트롤을 올바르게 사용하는 방법을 알아봅니다.

PowerApps 시작 기능: 앱에서 다른 서비스를 시작하는 방법

PowerApps 시작 기능: 앱에서 다른 서비스를 시작하는 방법

PowerApps 실행 기능에 대해 자세히 알아보고 자신의 앱에서 바로 웹사이트, 전화, 이메일 및 기타 앱과 같은 기타 서비스를 실행하십시오.

Power Automate의 HTTP 요청 – 소개

Power Automate의 HTTP 요청 – 소개

타사 애플리케이션 통합과 관련하여 Power Automate의 HTTP 요청이 작동하는 방식을 배우고 이해합니다.

Power Automate Desktop: 마우스 클릭 보내기 기능을 사용하는 방법

Power Automate Desktop: 마우스 클릭 보내기 기능을 사용하는 방법

Power Automate Desktop에서 Send Mouse Click을 사용하는 방법을 알아보고 이것이 어떤 이점을 제공하고 흐름 성능을 개선하는지 알아보십시오.

PowerApps 변수: 컨텍스트 및 전역 변수 식별

PowerApps 변수: 컨텍스트 및 전역 변수 식별

PowerApps 변수의 작동 방식, 다양한 종류, 각 변수가 앱에 기여할 수 있는 사항을 알아보세요.

Power Automate에서 실행할 데스크톱 흐름 예약

Power Automate에서 실행할 데스크톱 흐름 예약

이 자습서에서는 Power Automate를 사용하여 웹 또는 데스크톱에서 작업을 자동화하는 방법을 알려줍니다. 데스크톱 흐름 예약에 대한 포괄적인 가이드를 제공합니다.