2016-11-16 15 views
0

私のデータフレームDFには、「A」という列があり、その値は整数値です。私はpandasデータフレームの特定の列のint値を返します

DF[DF.someCondition=condition].A 

を使用して、特定の行のAの値を取得したい場合しかし、INT形状を有していないため、int型されていない形状の対象物を(1)を返します。この値を別のnumpy配列のインデックスエントリとして使用したいのでintを必要とします。 Aの値を取得してint値にするにはどうすればよいですか?一般に

+2

はこれを試してみてください: 'DF.loc [DF.someCondition = condition、 'A']' – MaxU

+0

これは間違っています。私は場所がほしいとは思わない。私はA – HimanAB

+0

の価値を試しましたか? – MaxU

答えて

1

、フォーム

DF.someCondition = condition 

の条件は複数回真であってもよいです。

DF[DF.someCondition=condition].A 

形状(1,)の目的ではなく、スカラー値を返す理由です。 あなたは条件が一度だけ真であることが確実な場合は、item

DF[DF.someCondition=condition].A.item() 

を使用してスカラー値を抽出することができますしかし、MaxU suggestedとして、連鎖し、インデックス化を避けるために.locを使用することをお勧めし:

DF.loc[DF.someCondition=condition, 'A'].item() 
例えば

import numpy as np 
import pandas as pd 

df = pd.DataFrame(np.arange(6).reshape(3,2), columns=list('AB')) 
df[df['B']==3].A 
# 1 2 
# Name: A, dtype: int64 

df.loc[df['B']==3, 'A'].item() 
# 2 
+0

ありがとうございます。それは完全に動作します。 – HimanAB

関連する問題