데이터 프레임에서 단어를 검색하면 해당 문자가 포함 된 모든 항목이 표시되지만 특정 단어가 표시되기를 원합니다. 나를 도와 줄 수 있습니까?
다음은 그 예입니다.
import pandas as pd
d = {'col1': ['ROL', 'ROVER','ROL','ROLLER','ROL','TROLLER','rol','rolter','nan'] ,'col2': [1, 2,3,4,5,6,7,9,10]}
df = pd.DataFrame(data=d)
ROL = df[df['col1'].fillna(0).str.contains("ROL|rol",na=False)]
출력은 다음과 같습니다.
하지만 제가 정말로 원했던 것은 그 항목이없는 것입니다
코드의 문제 str.contains("ROL|rol")
는 ROVER
. 예를 들어, "ROLLER"
도 들어 있습니다 "ROL"
.
이 사용을 시도하십시오 str.contains
:
import re
ids = df.col1.str.contains('rol$|rol-|rol ', flags = re.IGNORECASE, regex = True, na = False)
그런 다음 필터링 :
df[ids]
제공합니다 :
Out[115]:
col1 col2
0 ROL 1
2 ROL- 33 3
4 ROL -2 5
6 rol nº12 7
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다