당신이 경우 테스트 할 벡터화 str.contains
을 사용할 수 있습니다 각 행에 문자열이 있거나 포함되어 있습니다.
In [262]:
testData['value'].str.contains(testData['value'][0])
Out[262]:
0 True
1 False
2 False
Name: value, dtype: bool
어떤 행에 다음 any
를 사용
In [264]:
testData['value'].str.contains(testData['value'][0]).any()
Out[264]:
True
마지막 질문을 해결하기 위해 OK : 우리가 무엇을 _info_axis
보면
def __contains__(self, key):
"""True if the key is in the info axis"""
return key in self._info_axis
실제로 : pd.Series.__contains__
이 구현되기 때문이다
In [270]:
testData['value'][0] in testData['value']
Out[270]:
False
을 :
In [269]:
testData['value']._info_axis
Out[269]:
RangeIndex(start=0, stop=3, step=1)
그런
우리는 우리가 정말 'abc'
그것이 False
이
예 반환 이유 인덱스에 실제로 있는지 여부를 테스트하고 testData['value']
에 'abc'
을 수행 할 때 우리가 볼 수
In [271]:
testData=pd.DataFrame({'value':['abc','cde','fgh']}, index=[0, 'turkey',2])
testData
Out[271]:
value
0 abc
turkey cde
2 fgh
In [272]:
'turkey' in testData['value']
Out[272]:
True
우리는 그 반환 볼 수 있습니다 True
이제 '칠면조'가 색인에 포함되어 있는지 테스트 중이므로
죄송합니다. 데이터가 샘플 df에 개별 문자열을 포함하는 시리즈로 저장되지만 실제 df 데이터는 실제로 각 행에 대한 문자열 목록입니까? 그게 근본적으로 다르므로 – EdChum
@EdChum 대답은 좋은 것입니다. 원래의 오류를 수정하려면 testData [ 'value']. values '의 마지막 행이'testData [ 'value'] [0]이되도록 testData [ 'value'] 값을 확인하기 만하면됩니다. True –
@EdChum을 얻으십시오, 예제 데이터가 제 문제에 대한보다 정확한 설명이라고 생각합니다. 당신이 언급 한 근본적인 차이점은 내가 간과 한 것일 수도 있습니다. – cone001