λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ’» Programming/Python

[pandas] νŠΉμ • μ»¬λŸΌμ—μ„œ νŠΉμ • λ¬Έμžμ—΄μ΄ ν¬ν•¨λœ ν–‰ μ°ΎκΈ° | str.contains

by 뭅즀 2023. 11. 17.
λ°˜μ‘ν˜•

νŒλ‹€μŠ€μ—μ„œλŠ” νŠΉμ • μ»¬λŸΌμ—μ„œ νŠΉμ • λ¬Έμžμ—΄μ΄ ν¬ν•¨λœ ν–‰μ„ μ°Ύμ„ μˆ˜ μžˆμŠ΅λ‹ˆλ‹€. μ΄λ₯Ό μœ„ν•΄μ„œλŠ” ν•΄λ‹Ή μ»¬λŸΌμ˜ λ¬Έμžμ—΄μ— λŒ€ν•΄ str.contains() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

 

str.contains()

κΈ°λ³Έ μ‚¬μš©λ²•

contains_apple = df[df['컬럼 A'].str.contains('κ°€λ‚˜λ‹€λΌ')]
  • "컬럼 A"μ—μ„œ "κ°€λ‚˜λ‹€λΌ"κ°€ ν¬ν•¨λœ 행을 μ°ΎκΈ° μœ„ν•΄μ„œλŠ” μœ„μ™€ 같이 μ‚¬μš©ν•˜λ©΄ λœλ‹€.

 

 

μ •κ·œ ν‘œν˜„식 μ‚¬μš©

contains_pattern = df[df['A'].str.contains('사과|λ°”λ‚˜λ‚˜', regex=True)]
  • regex=True 둜 μ„€μ •ν•˜μ—¬ μ •κ·œ ν‘œν˜„μ‹μ„ μ‚¬μš©ν•  수 μžˆλ‹€.
  • 예λ₯Ό λ“€μ–΄, νŠΉμ • νŒ¨ν„΄μ΄λ‚˜ λ¬Έμžμ—΄μ„ μ •κ·œ ν‘œν˜„μ‹μœΌλ‘œ μ§€μ •ν•˜μ—¬ 검색할 수 μžˆλ‹€.
  • μœ„ μ˜ˆμ‹œλŠ” '사과' λ˜λŠ” 'λ°”λ‚˜λ‚˜'κ°€ ν¬ν•¨λœ 행을 μ°ΎλŠ” 것

 

 

λŒ€μ†Œλ¬Έμž ꡬ뢄 μ˜΅μ…˜ 

contains_case_sensitive = df[df['A'].str.contains('Apple', case=True)]
contains_case_insensitive = df[df['A'].str.contains('Apple', case=False)]
  • case λ§€κ°œλ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ λŒ€μ†Œλ¬Έμžλ₯Ό κ΅¬λΆ„ν•˜κ±°λ‚˜ λ¬΄μ‹œν•  수 μžˆλ‹€.

 

 

NA(κ²°μΈ‘κ°’) 처리

contains_with_na = df[df['A'].str.contains('사과', na=False)]
  • na λ§€κ°œλ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ NaN κ°’ μ²˜λ¦¬λ₯Ό μ§€μ •ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

 

 

μ˜ˆμ‹œ

import pandas as pd

# μƒ˜ν”Œ λ°μ΄ν„°ν”„λ ˆμž„ 생성
data = {'A': ['μ‚¬κ³Όλ°”λ‚˜λ‚˜', '포도딸기', 'λ³΅μˆ­μ•„', 'μ‚¬κ³Όμ˜€λ Œμ§€']}
df = pd.DataFrame(data)

# 'A' μ»¬λŸΌμ—μ„œ '사과'κ°€ ν¬ν•¨λœ ν–‰ μ°ΎκΈ°
contains_apple = df[df['A'].str.contains('사과')]

# κ²°κ³Ό 좜λ ₯
print(contains_apple)
  • A λΌλŠ” μ»¬λŸΌμ—μ„œ '사과'κ°€ ν¬ν•¨λœ 행을 μ°ΎλŠ” μ˜ˆμ‹œ
λ°˜μ‘ν˜•