반응형
pandas에서 DataFrame을 필터링하는 방법은 다양한 조건을 사용하여 원하는 데이터를 추출하는 것입니다. 여기 몇 가지 일반적인 방법을 예로 들어 설명하겠습니다.
1. 특정 값 기반 필터링
import pandas as pd
# 예제 데이터
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [24, 27, 22, 32],
'city': ['Seoul', 'Busan', 'Seoul', 'Incheon']}
df = pd.DataFrame(data)
# 특정 값 필터링: 'city'가 'Seoul'인 데이터만 추출
filtered_df = df[df['city'] == 'Seoul']
print(filtered_df)
2. 여러 조건을 사용한 필터링
조건을 조합할 때는 &(and), |(or) 연산자를 사용하며, 조건은 각각 괄호로 묶어야 합니다.
# 'city'가 'Seoul'이고, 'age'가 25세 이상인 데이터
filtered_df = df[(df['city'] == 'Seoul') & (df['age'] >= 25)]
print(filtered_df)
3. isin()을 사용한 여러 값 필터링
컬럼 값이 여러 값 중 하나에 속하는 데이터를 필터링할 때 사용합니다.
# 'city'가 'Seoul' 또는 'Busan'인 데이터
filtered_df = df[df['city'].isin(['Seoul', 'Busan'])]
print(filtered_df)
4. str 메서드를 활용한 텍스트 필터링
문자열 컬럼에 대해 특정 패턴이나 조건을 기반으로 필터링할 수 있습니다.
# 'city' 컬럼에 'eo'가 포함된 데이터
filtered_df = df[df['city'].str.contains('eo')]
print(filtered_df)
5. 날짜 기반 필터링
날짜 필터링은 datetime 타입으로 변환 후 수행하는 것이 편리합니다.
# 예제 데이터
data = {'date': ['2024-01-01', '2024-02-15', '2024-03-10'],
'value': [10, 20, 30]}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date']) # datetime 형식으로 변환
# 특정 날짜 이후의 데이터
filtered_df = df[df['date'] > '2024-02-01']
print(filtered_df)
6. query 메서드로 필터링
SQL과 비슷한 방식으로 조건을 쓸 수 있습니다.
# 'age'가 25 이상이고 'city'가 'Seoul'인 데이터
filtered_df = df.query("age >= 25 and city == 'Seoul'")
print(filtered_df)
필터링할 조건에 따라 위 방법들을 적절히 조합해서 사용하면 됩니다.
※ 이 게시글은 chatgpt-4o 의 도움을 받아 작성되었습니다.
반응형
'IT' 카테고리의 다른 글
[Ubuntu] SSH server open 방법 (0) | 2024.11.22 |
---|---|
[Python] for 문의 예제, 사용법 (0) | 2024.11.22 |
[Python] 삼항 연산자의 예제, 사용법 (0) | 2024.11.22 |
[Python] substring 의 정의와 예제, 사용법(feat. slicing) (0) | 2024.11.22 |
[AWS] S3 폴더 구조 확인 코드(feat. python, boto3) (1) | 2024.11.22 |