IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

PandasのDataFrameの嵌りどころ

データフレームから複数条件で行を絞るとき

df[df['項目1']==0 and df['項目2']==1]
df[df['項目1']==0 & df['項目2']==1]
df[(df['項目1']==0) and (df['項目2']==1)]

上記3つはいずれも下記のエラーが出る。

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

正しくは、

df[(df['項目1']==0) & (df['項目2']==1)]