>  기사  >  백엔드 개발  >  Pandas 데이터 필터링의 고급 기술 및 실제 적용

Pandas 데이터 필터링의 고급 기술 및 실제 적용

PHPz
PHPz원래의
2024-01-24 08:28:061072검색

Pandas 데이터 필터링의 고급 기술 및 실제 적용

Pandas는 데이터를 쉽게 필터링하고 처리할 수 있는 다양한 유연한 기능과 방법을 제공하는 강력한 데이터 처리 및 분석 도구입니다. 이 기사에서는 Pandas 데이터 필터링을 위한 몇 가지 고급 기술을 소개하고 실제 사례를 통해 구체적인 코드 예제를 제공합니다.

1. 기본 데이터 필터링

Pandas는 부울 인덱스, loc 또는 iloc 방법 등을 사용하여 데이터의 기본 필터링을 수행하는 다양한 방법을 제공합니다. 다음은 몇 가지 일반적인 기본 데이터 필터링 사례입니다.

  1. 부울 인덱스 필터링

부울 인덱스는 특정 조건에 따라 데이터를 필터링하는 데 사용할 수 있습니다. 예를 들어, 학생 정보가 포함된 데이터 프레임이 있고 점수가 60점보다 높은 학생을 필터링하려고 합니다. 다음 코드를 사용하여 구현할 수 있습니다.

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '成绩': [80, 70, 90, 50]
}

df = pd.DataFrame(data)
df_filtered = df[df['成绩'] > 60]

print(df_filtered)
  1. loc 메서드 필터링

loc 메서드는 행 레이블과 열 레이블을 기반으로 데이터를 필터링할 수 있습니다. 예를 들어, 학생 정보가 포함된 데이터 프레임이 있고 Zhang San과 Li Si라는 학생의 학년과 나이를 필터링하려고 합니다. 이는 다음 코드를 사용하여 달성할 수 있습니다:

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '成绩': [80, 70, 90, 50],
    '年龄': [18, 19, 20, 21]
}

df = pd.DataFrame(data)
df_filtered = df.loc[df['姓名'].isin(['张三', '李四']), ['成绩', '年龄']]

print(df_filtered)

2. 고급 데이터 필터링

기본 데이터 필터링 방법 외에도 Pandas는 쿼리 방법 사용 및 멀티용 인덱스 개체 MultiIndex 사용과 같은 다양한 고급 데이터 필터링 기술도 제공합니다. -레벨 필터링. 아래에는 몇 가지 사례 그림이 나와 있습니다.

  1. 쿼리 메소드 필터링

쿼리 메소드는 SQL과 유사한 구문을 통해 데이터를 필터링할 수 있습니다. 예를 들어, 학생 정보가 포함된 데이터 프레임이 있고 점수가 60점보다 크고 18세에서 20세 사이인 학생을 필터링하려고 합니다. 이를 달성하려면 다음 코드를 사용할 수 있습니다.

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '成绩': [80, 70, 90, 50],
    '年龄': [18, 19, 20, 21]
}

df = pd.DataFrame(data)
df_filtered = df.query('成绩 > 60 and 18 <= 年龄 <= 20')

print(df_filtered)
  1. MultiIndex 필터링 사용

데이터 프레임에 여러 수준의 인덱스가 있는 경우 다중 수준 필터링에 MultiIndex 개체를 사용할 수 있습니다. 예를 들어, 학생 정보가 포함된 데이터 프레임이 있습니다. 색인에는 학급과 학생 번호라는 두 가지 수준이 포함되어 있습니다. 우리는 학급 1에서 학생 번호가 001과 002인 학생을 필터링하려고 합니다. 이는 다음 코드를 사용하여 달성할 수 있습니다.

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '成绩': [80, 70, 90, 50],
}

index = pd.MultiIndex.from_tuples([('1班', '001'), ('1班', '002'), ('2班', '001'), ('2班', '002')])
df = pd.DataFrame(data, index=index)
df_filtered = df.loc[('1班', ['001', '002']), :]

print(df_filtered)

3. 사례 분석

이제 Pandas 데이터 필터링의 고급 기술을 추가로 설명하기 위해 실제 데이터 세트를 예로 들어보겠습니다. 자동차 브랜드, 모델, 판매량, 판매량 등의 정보가 포함된 자동차 판매 데이터 세트가 있다고 가정해 보겠습니다. 우리는 판매량이 1,000대 이상, 판매량이 100만 대 이상인 모델을 필터링하려고 합니다. 다음은 코드 예시입니다.

import pandas as pd

data = {
    '品牌': ['宝马', '奥迪', '奔驰', '大众'],
    '型号': ['X3', 'A6', 'E级', '朗逸'],
    '销售量': [1200, 800, 1500, 900],
    '销售额': [1200, 900, 1800, 800]
}

df = pd.DataFrame(data)
df_filtered = df.query('销售量 > 1000 and 销售额 > 1000000')

print(df_filtered)

위 코드를 통해 판매량이 1,000대 이상, 판매량이 100만 위안 이상인 모델을 성공적으로 필터링했습니다.

요약하자면, Pandas는 기본 부울 인덱싱, loc 및 iloc 방법부터 고급 쿼리 방법 및 MultiIndex 필터링에 이르기까지 다양한 시나리오의 데이터 필터링 요구 사항을 충족할 수 있는 풍부한 데이터 필터링 기능과 방법을 제공합니다. 위의 사례는 몇 가지 일반적인 데이터 필터링 기술과 응용 프로그램을 보여 주며 실제 응용 분야에서 독자에게 도움이 되기를 바랍니다.

위 내용은 Pandas 데이터 필터링의 고급 기술 및 실제 적용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.