2016-04-01 18 views
0

私は、pandas df、カラム名、および値のリストをとり、フィルタリングされたdfを与える関数を書いています。この関数は、df.query()を内部的に使用します。カラムと値が異なるタイプの場合のデータフレームのクエリ

特定のケースでは、整数と文字列の両方が存在する列を持つデータフレームがあります。私の関数は、要素がすべて整数であるリストでこのdfをフィルタリングする必要があります。現時点では、文字列はintと比較できないため、空のdfを取得します。データフレームとルックアップリストで同じであっても - 例えば。 '345' & 345.

パンダでこれを処理する一般的な方法は何ですか?私は整数のリストを文字列に強制することができますが、私はそれから離れていきたいと思います。私の関数が非整数値も扱えるようにしたいからです。私は文字列に強制的に安全であるかどうかはわかりません:例えば、フロートのために。

答えて

0

あなたは多くの点がありますが、私はそれらを要約できると思います。私は、あなたがもっと文脈なしにどちらがもっと意味をなさされるかを知ることができませんでした。

  • あなたはフロートの問題を恐れている場合は、整数のみを変換、数字

    • に数値文字列に変換します。
    • データをそのまま維持したい場合は、変換された値を別の列/オブジェクトに格納し、フィルタリングに使用します。
    • フィルタ処理されたデータにデータ型を保持する場合は、変換されたデータをフィルタ処理し、フィルタ処理されたインデックスを使用して元のデータをサブセット化します。
  • ルックアップリスト内の番号とその文字列表現の両方で

  • フィルター文字列に(上記と同じ考え方)を数値に変換します。

関連する問題