Pandas를 사용하여 열 값으로 DataFrame 필터링
Python에서 데이터 작업을 할 때 Pandas 라이브러리는 데이터 조작 및 분석을 위한 강력한 도구를 제공합니다. 일반적인 작업 중 하나는 특정 열의 값을 기반으로 DataFrame에서 행을 선택하는 것입니다. 이 작업은 SQL 쿼리(SELECT * FROM table WHERE 컬럼_이름 = some_value)와 유사합니다.
이 기사에서는 다양한 방법을 사용하여 Pandas에서 이를 달성하는 방법을 살펴보겠습니다. 단일 값으로 필터링하든 여러 기준으로 필터링하든 Pandas는 이러한 작업을 처리하는 직관적이고 효율적인 방법을 제공합니다. 자세한 내용을 살펴보겠습니다.
명령 | 설명 |
---|---|
pd.DataFrame() | 사전이나 기타 데이터 구조에서 DataFrame 객체를 만듭니다. |
df[condition] | 조건에 따라 DataFrame 행을 필터링하여 기준을 충족하는 행만 반환합니다. |
print() | 지정된 메시지 또는 DataFrame을 콘솔에 출력합니다. |
df['column'] == value | 열이 지정된 값과 일치하는 행을 필터링하는 데 사용되는 부울 계열을 만듭니다. |
df['column'] >df['column'] > value | 열 값이 지정된 값보다 큰 행을 필터링하는 데 사용되는 부울 계열을 만듭니다. |
# Comment | 스크립트의 일부로 실행되지 않는 코드 내에 설명이나 메모를 추가하는 데 사용됩니다. |
Pandas에서 DataFrame 행 선택 구현
제공된 스크립트에서 핵심 작업은 데이터 분석의 일반적인 요구 사항인 특정 열 값을 기반으로 DataFrame의 행을 필터링하는 것입니다. 첫 번째 스크립트는 Pandas 라이브러리를 가져오는 것으로 시작됩니다. . Pandas는 Python의 강력한 데이터 조작 라이브러리이므로 이는 필수적입니다. 다음으로 다음을 사용하여 샘플 DataFrame을 만듭니다. 이름, 나이, 도시에 대한 데이터가 포함된 사전이 있습니다. 이 구조를 사용하면 표 형식의 데이터를 쉽게 시각화하고 조작할 수 있습니다. 스크립트의 중요한 부분은 다음을 사용하여 행을 필터링하는 것입니다. . 이 명령은 도시 열의 값이 '뉴욕'인 모든 행을 선택합니다. 결과는 변수에 저장됩니다 삼, 필터링된 DataFrame을 표시하기 위해 인쇄됩니다.
두 번째 스크립트는 유사한 구조를 따르지만 숫자 조건을 기반으로 행을 필터링하는 데 중점을 둡니다. Pandas를 가져오고 제품, 가격, 수량 열이 포함된 DataFrame을 생성한 후 스크립트는 다음을 사용합니다. 가격이 150보다 큰 행을 필터링합니다. 이 명령은 지정된 조건을 충족하는 행만 포함하는 원본 DataFrame의 하위 집합을 생성합니다. 결과는 다음 위치에 저장됩니다. 확인을 위해 인쇄되었습니다. 두 스크립트 모두 데이터 조작을 위한 Pandas의 강력함과 단순성을 보여줍니다. 일련의 참/거짓 값을 전달하여 데이터를 필터링하는 방법인 부울 인덱싱을 사용하면 다양한 조건에 따라 데이터의 하위 집합을 효율적으로 선택할 수 있으므로 데이터 분석가와 과학자에게 귀중한 도구가 됩니다.
열 값을 기반으로 DataFrame의 행 필터링
Python - DataFrame 작업에 Pandas 사용
import pandas as pd
# Create a sample DataFrame
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David', 'Edward'],
'age': [24, 27, 22, 32, 29],
'city': ['New York', 'Los Angeles', 'New York', 'Chicago', 'Los Angeles']
}
df = pd.DataFrame(data)
# Select rows where city is New York
ny_rows = df[df['city'] == 'New York']
print(ny_rows)
# Output:
# name age city
# 0 Alice 24 New York
# 2 Charlie 22 New York
열 값을 기반으로 DataFrame 행 쿼리
Python - Pandas를 사용한 고급 필터링
import pandas as pd
# Create a sample DataFrame
data = {
'product': ['A', 'B', 'C', 'D'],
'price': [100, 150, 200, 250],
'quantity': [30, 50, 20, 40]
}
df = pd.DataFrame(data)
# Select rows where price is greater than 150
expensive_products = df[df['price'] > 150]
print(expensive_products)
# Output:
# product price quantity
# 2 C 200 20
# 3 D 250 40
DataFrame 행 선택을 위한 고급 기술
부울 인덱싱을 사용한 기본 필터링 외에도 Pandas는 열 값을 기반으로 행을 선택하는 고급 기술을 제공합니다. 그러한 방법 중 하나는 이 함수를 사용하면 SQL과 유사한 구문을 사용하여 DataFrame 행을 필터링할 수 있습니다. 예를 들어 다음을 사용할 수 있습니다. 연령이 25세보다 크고 도시가 뉴욕인 행을 선택합니다. 이 방법을 사용하면 특히 복잡한 조건의 경우 코드를 더 읽기 쉽게 만들 수 있습니다. 또한 Pandas는 다음을 제공합니다. 그리고 iloc[] 보다 정확한 행 선택을 위한 접근자입니다. 그만큼 accessor는 레이블 기반입니다. 즉, 레이블이나 부울 배열을 기준으로 행을 필터링할 수 있습니다. 대조적으로, accessor는 정수 위치 기반이므로 인덱스 위치를 기준으로 행을 필터링할 수 있습니다.
Pandas의 또 다른 강력한 기능은 다음을 사용하여 DataFrame 행을 필터링하는 기능입니다. 방법. 이 방법은 값 목록을 기반으로 행을 필터링해야 할 때 유용합니다. 예를 들어, 도시 열 값이 뉴욕 또는 로스앤젤레스인 행을 선택합니다. 또한 다음을 사용하여 여러 조건을 연결할 수 있습니다. 그리고 | 더 복잡한 필터를 생성하는 연산자입니다. 예를 들어, 연령이 25세보다 크고 도시가 뉴욕인 행을 필터링합니다. 이러한 고급 기술은 데이터 필터링을 위한 강력한 프레임워크를 제공하여 Pandas를 데이터 분석 및 조작을 위한 다목적 도구로 만듭니다.
- 여러 열 값을 기반으로 DataFrame의 행을 필터링하려면 어떻게 해야 하나요?
- 다음을 사용하여 여러 조건을 결합하여 부울 인덱싱을 사용할 수 있습니다. 그리고 . 예를 들어: .
- 차이점은 무엇 입니까? 그리고 ?
- 라벨 기반이지만 정수 위치 기반입니다. 사용 라벨별로 필터링하고 iloc[] 인덱스 위치별로 필터링합니다.
- 어떻게 사용할 수 있나요? DataFrame 행을 필터링하는 함수?
- 그만큼 함수를 사용하면 SQL과 유사한 구문을 사용할 수 있습니다. 예를 들어: .
- 값 목록을 기반으로 행을 필터링할 수 있나요?
- 예, 다음을 사용할 수 있습니다. 방법. 예를 들어: .
- 문자열 일치를 기반으로 행을 필터링하는 가장 좋은 방법은 무엇입니까?
- 당신은 사용할 수 있습니다 방법. 예를 들어: .
- 열 값이 누락된 행을 선택하려면 어떻게 해야 합니까?
- 당신은 사용할 수 있습니다 방법. 예를 들어: .
- 사용자 정의 함수를 사용하여 행을 필터링하려면 어떻게 해야 합니까?
- 당신은 사용할 수 있습니다 람다 함수를 사용하는 메서드입니다. 예를 들어: .
- 인덱스 값을 기준으로 행을 필터링할 수 있나요?
- 예, 다음을 사용할 수 있습니다. 방법. 예를 들어: .
열 값을 기반으로 DataFrame에서 행을 선택하는 것은 Pandas를 사용한 데이터 분석의 기본 기술입니다. 부울 인덱싱을 활용하여, , , , 그리고 isin() 방법을 사용하면 효율적인 데이터 필터링이 가능합니다. 이러한 기술을 익히면 데이터 세트를 효과적으로 조작하고 분석하는 능력이 향상됩니다.