2017-11-26 11 views
0

私は比較的新しいPythonです。列に特定の値がある行を取得しようとしています。 ufunc「bitwise_and」の入力タイプではサポートされていない、と入力が安全に任意のに強制することができませんでした。ここで列が特定の値を持つ行を取得する

は、私がこれを実行すると、私はエラー TypeError例外を取得し

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")] 私はこのエラー TypeError例外受け付けております:私が使用したときに、無効なタイプの比較を上記のコード – Katie

+0

@Katie数量は浮動小数点数です。 'mydf ['Quantity'] == 2.0'を試してください。 –

関連する問題