2017-02-23 1 views
0

'merged'データフレームから 'output'という値を抽出しようとしましたが、2つの属性を含むすべての行について合計します。特定の年の値とデータの各行に割り当てられたダミー変数を選択し、これらの2つの特性を持つすべての値を合計する必要があります。私はこのようにそれを実行しようとしました:2つの属性に基づいてデータフレームからデータを選択しようとしたときにエラーが発生しました

sumforyr = merged[merged['year'] == 2000 and merged['dummy'] == 1]['output'].sum() 

しかし、これは私にエラーを与えて実行している:

ValueError: The truth value of a Series is ambiguous. 

は、私はそれぞれの行をループする必要があり、これらの属性をそのようにチェックしますか?シリーズは行単位ではなく一度に評価されるという問題はありますか?

+0

'sumforyr = merged.loc [(マージ[ '年'] == 2000)&(合併[ 'ダミー'] == 1)、 '出力']の和(。 ) – MaxU

+0

また、マージ['sumforyr'] =マージ['出力'] [マージ['year'] == 2000&merged ['dummy'] == 1] .sum() –

+0

@AndrewLは私に同じValueError – Sveinn

答えて

0

デモ:

In [21]: merged 
Out[21]: 
    year dummy output 
0 2000  1  1 
1 2000  1  10 
2 2000  2  2 
3 2001  3  3 

In [22]: merged.loc[(merged['year'] == 2000) & (merged['dummy'] == 1), 'output'].sum() 
Out[22]: 11 
関連する問題