2016-10-11 17 views
0

特定の条件が満たされている場合は、値を0から値1に更新しようとしています。ここに私のコードは次のとおりです。条件付きで更新するデータフレームの列

df_['win'] = 0 
df_.loc[df_['predicted_spread'] > df_['vegas_spread'] and df_['actual_spread'] > df_['vegas_spread'], 'win'] = 1 

は、これは私が取得していますエラーです:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). 

誰もがここで何が起こっているかのいずれかのアイデアを持っていますか?あなたは&あるandのための論理演算子を使用する必要があるブールインデックス作成を行う場合

答えて

1

を試してみてください。詳細

df['win'] = 0 
cond_1 = df['predicted_spread'] > df['vegas_spread'] 
cond_2 = df['actual_spread'] > df['vegas_spread'] 
df.loc[cond_1 & cond_2, 'win'] = 1 

&の代わりandと基本的にはちょうどあなたの答えのためのドキュメントhereを参照してください。私は少し書き直しました。

+0

素晴らしい作品です!ありがとうございました! – user3294779

1

df_['win'] = 0 
df_.loc[df_['predicted_spread'].gt(df_['vegas_spread']) and df_['actual_spread'].gt(df_['vegas_spread']), 'win'] = 1