2017-07-25 15 views
0

pythonのデータフレームから他の2つの列に基づいて1つの列の値を抽出しようとしています。しかし、これはシーケンスオブジェクトを返します。データフレームからの値をパンダのfloat/intとして抽出

df['A'].where((df['B'] == val1) & (df['C'] == val2)) 

どのように私はint型/フロートの列Aの値を抽出することができますかどのように私はint型やfloat型にシーケンス・オブジェクトを変換することができますか?

+0

これは意味ですか? [df ['A'] [(df ['B'] == val1)&(df ['C'] == val2)] 'もっと読む[ここ](https://pandas.pydata.org/pandas -docs/stable/indexing.html)。 – Marein

+0

はい。私は同じ@Mareinを意味した –

+0

あなたは本当に '&'、ビットごとにしたいですか? – jacoblaw

答えて

0

あなたは、このようにマスクを使用して、あなたのコラムのスライスを使用することができます。

df['A'][(df['B'] == val1) & (df['C'] == val2)] 

しかし、あなたは、対応するスライスのインプレース値を変更otの場合は、あなたはloc演算子使用してみてください。

df.loc[(df['B'] == val1) & (df['C'] == val2),'A'] 
関連する問題