이미 생성된 Pandas DataFrame에서 특정 행을 제거하려면 pdpipe 라이브러리의 ValDrop() 메서드를 사용할 수 있습니다. pdpipe는 데이터 전처리 과정을 파이프라인 형태로 구성할 수 있게 해주는 유용한 라이브러리로, 복잡한 전처리 작업을 단계별로 깔끔하게 관리할 수 있습니다.
1. 라이브러리 임포트하기
먼저 필요한 pdpipe와 pandas 라이브러리를 각각의 별칭과 함께 임포트합니다.
import pdpipe as pdp import pandas as pd
2. DataFrame 생성하기
예제로 사용할 DataFrame을 만들어 보겠습니다. 여기에는 'Car'와 'Units' 두 개의 열이 있습니다.
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)3. ValDrop()으로 행 제거하기
이제 ValDrop() 메서드를 사용하여 'Car' 열의 값이 'Jaguar'인 행을 제거합니다. ValDrop은 첫 번째 인자로 제거할 값의 목록을, 두 번째 인자로 대상 열 이름을 받습니다.
dataFrame = pdp.ValDrop(['Jaguar'], 'Car').apply(dataFrame)
전체 예제 코드
아래는 새로운 열을 추가하고 행을 제거하는 과정까지 포함한 완전한 코드입니다.
import pdpipe as pdp
import pandas as pd
# 재고 상태를 확인하는 함수
def demo(x):
if x >= 100:
return "OverStock"
else:
return "UnderStock"
# DataFrame 생성
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)
print("DataFrame ...\n", dataFrame)
# 기존 'Units' 열을 기반으로 새로운 'Stock' 열 추가
dataFrame['Stock'] = dataFrame['Units'].apply(demo)
print("\n새로운 열이 추가된 DataFrame...\n", dataFrame)
# pdp를 사용하여 행 제거
dataFrame = pdp.ValDrop(['Jaguar'], 'Car').apply(dataFrame)
print("\n행이 제거된 후의 DataFrame...\n", dataFrame)실행 결과
위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.
DataFrame ...
Car Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Mustang 80
4 Bentley 110
5 Jaguar 90
새로운 열이 추가된 DataFrame...
Car Units Stock
0 BMW 100 OverStock
1 Lexus 150 OverStock
2 Audi 110 OverStock
3 Mustang 80 UnderStock
4 Bentley 110 OverStock
5 Jaguar 90 UnderStock
행이 제거된 후의 DataFrame...
Car Units Stock
0 BMW 100 OverStock
1 Lexus 150 OverStock
2 Audi 110 OverStock
3 Mustang 80 UnderStock
4 Bentley 110 OverStock정리
pdpipe의 ValDrop() 메서드를 활용하면 별도의 복잡한 필터링 코드 없이도 특정 열의 값을 기준으로 행을 간단하게 제거할 수 있습니다. 또한 이 방식은 파이프라인에 다른 전처리 단계와 함께 연결하여 재사용 가능한 데이터 처리 흐름을 구축하는 데 특히 유용합니다.