2016-10-12 11 views
0

私はPythonで、次のデータフレームを持ってPythonの - 別の列の値に基づいてアクセス列

+-------+--------+ 
| Value | Number | 
+-------+--------+ 
| true | 123 | 
| false | 234 | 
| true | 345 | 
| true | 456 | 
| false | 567 | 
| false | 678 | 
| false | 789 | 
+-------+--------+ 

私は

TRUEの値を持つすべての「ナンバー」==のリストを返す操作を行ってはどうすればよいです上記の表から予想

出力リストには、事前に

['123', '345', '456'] 

感謝です!

答えて

1

df.loc[df['Value'],'Number']は「価値」のDTYPEを想定して動作するはずです本当のブール値です。

In [68]: 
df.loc[df['Value'],'Number'] 

Out[68]: 
0 123 
2 345 
3 456 
Name: Number, dtype: int64 

上記ブールインデックスを使用して、ここでのブール値はDFに対してマスクです。あなたがしたい場合

list

In [69]: 
df.loc[df['Value'],'Number'].tolist() 

Out[69]: 
[123, 345, 456] 
+1

か 'df.loc [df.Value == '真'、 '数']'私は推測していない場合は... DTYPEがあれば –

+0

@JonClementsてください'str'ですが、' str'のようにOPからは分かりませんが、TRUEと比べると、 – EdChum

+0

@EdChum、これはブール型リストであり、これは魅力的です!ありがとうございました! – woodhead92

関連する問題