2017-11-26 19 views
0

저는 비교적 새로운 Python이고 열에 특정 값이있는 행을 얻으려고합니다. ufunc 'bitwise_and'입력 유형에 대해 지원되지 및 입력이 안전하게 어떤 강제 변환 할 수 없습니다 여기열이 특정 값을 갖는 행 얻기

내가이를 실행할 때 오류 형식 오류를 얻을 수

item=mydf[mydf["Item Name"]=="Pregabalin"] 
type=mydf[mydf["type"]=="Pregabalin 300mg"] 
mydf[item & Strength] 

그러나 내 코드의 예입니다 캐스팅 규칙 '안전'에 따라 지원되는 유형

왜이 오류가 발생하는지 알 수 있으며 특정 값을 반환하기 위해 할 수있는 작업은 무엇입니까? 도움이 될 것입니다.

답변

1

당신은 다음과 같은 마스크에 대해 "비트와"를 사용할 수 있습니다 : 단순히

item = mydf["Item Name"]=="Pregabalin" 
typ = mydf["type"]=="Pregabalin 300mg" 

mydf[item & typ] 

또는 (다음과 같은 경우에 우리는 때문에 Operator precedence rules의 괄호를 사용합니다) :

mydf[(mydf["Item Name"]=="Pregabalin") & (mydf["type"]=="Pregabalin 300mg")] 
+0

느린 일 오늘. .. –

+0

@ cᴏʟᴅsᴘᴇᴇᴅ 감사합니다! 이것은 훌륭한 작품입니다 ... 숫자 데이터로 이것을 어떻게 할 수 있습니까? mydf [(mydf [ "항목 이름"] == "프레가 발린") (mydf [ "수량"] == "2.0")]이 오류를 형식 오류를 수신하고 : 유효하지 않은 유형 비교를 나는를 사용할 때 위의 코드 – Katie

+0

@Katie 수량은 실수 일 수 있습니다. 'mydf [ 'Quantity'] == 2.0'을 시도해보십시오. –