작은 문제가 있습니다. DataFrame에 여러 행이 있고 각 행에 다음으로 시작하는 하나 이상의 값이 들어 있습니다. 'M'문자 다음에 3 자리 숫자. 값이 1보다 크면 쉼표로 구분됩니다. DataFrame의보기를 인쇄하고 싶습니다. 그 중 하나의 열에는 지정한 값이있는 행만 있습니다 (예 : 목록에서 [M111 ','M222 ']의 항목을 보유하기를 원합니다.) 시작했습니다. 다음과 같은 방법으로 내 부울 마스크를 구축 :열의 각 행에있는 값 목록에 대한 팬더 .isin()
df[df['Column'].apply(lambda x: x.split(', ').isin(['M111', 'M222']))]
을 내 마음 속에서, .apply() .split() '열'이 1 개 이상의 값과 각 행의 목록에 값이 첫 번째 변환의 방법과 .isin() 메서드는 각 행의 항목 목록에있는 항목 중 하나가 [[M111], [M222]]의 지정된 값 목록에 있는지 여부를 확인합니다. 실제로는 원하는보기를 가져 오는 대신 DataFrame의 오류가 발생했습니다.
'TypeError: unhashable type: 'list'
내가 뭘 잘못하고 있니?
종류와 관련, Greem
목록에 isin 메서드를 적용하고 있습니다 (x.split()의 결과). 데이터 프레임이나 시리즈 객체에 isin 메소드를 적용합니다. – plasmon360