docs 컬럼은 콤마로 구분된 여러 값을 가지고 있다. 

이것을 배열처럼 생각할 때 특정 값이 몇 번째에 나타나는지를 알고 싶을 경우.



df['docs'] = df['docs'].str.split(",")

df['pos'] = df['docs'].apply(lambda x: -1 if not TARGET in x else x.index(TARGET) 



split()으로 생성된 list의 element와 실제 값을 찾을 때 사용할 TARGET의 type을 잘 맞춰야 한다. 

list의 element는 str 이고, TARGET이 int 인 경우 값이 있음에도 찾지 못하고 속도도 느려진다. 

이와 같이 숫자로 구성된 필드는 찾기 어려운 문제가 될 것 같다.

Posted by poterius
,