リストの取り出す値の条件を別のリストにする方法

[code]

    A = [1,1,1,.....-1,-1,1]
    B =     apple,   banana
        0     333,      356
        1     364,      675
        2     643,      346
    　　.     ...,      ...
       344    325,      356
    
[/code]

Bはcsvをdataframe型で読み込んでいます．  
AとBは同じ345個です．  
このとき，Aが１のとき，Bのappleの値だけを抽出したいです．  
B.iloc[np.where(A>0)]とすると，apple,banana両方が抽出されるため，  
B.iloc[np.where(A>0),0]としましたが，インデックスが多いとエラーがでました．

できるだけ，forで取り出さないやり方はありますでしょうか．



[code]

    B.loc[A > 0, 'apple']
    
[/code]

でよいのでは

