다음과 같은 dataframe이 있다고 하자.
import pandas as pd
import numpy as np
df = pd.DataFrame(
{
'Zodiac' : ['Libra','Capricorn','Scorpio','January','Scorpio', 'Capricorn','Capricorn', 'Taurus'],
'Month' : ['January', 'February', 'February', 'April', 'January', 'March', 'April', 'April'],
'values' : [23, 45,89, 91, "january", "february", "april", "january"]
}
)
df
>>>>
이때 어떤 컬럼도 상관없이 단어 Jan을 포함하고 있는 row들을 찾고한다.
다음과 같이 str.contains()
을 활용하면 된다.
substring = 'jan'
df[df.apply(lambda row: row.astype(str).str.contains(substring, case=False).any(), axis=1)]
>>>>
만약 대소문자를 구분해서 찾고 싶다면 str.contains(substring, case=True)
로 찾으면 된다.
substring = 'jan'
df[df.apply(lambda row: row.astype(str).str.contains(substring, case=True).any(), axis=1)]
[참고자료]
728x90
'python 메모' 카테고리의 다른 글
[python] jsonl로 데이터 읽고 쓰기 (0) | 2023.11.28 |
---|---|
[datetime] int형 시간을 datetime으로 바꾸기 (0) | 2023.11.27 |
[pkill] 여러 프로세스 동시에 종료시키기 (0) | 2023.07.08 |
[matplotlib] 두개 그래프 y축 동시에 plot하기 (0) | 2022.10.01 |
[JSON] JSON 파일 읽고 저장하고 예쁘게 프린트하기 (1) | 2022.10.01 |