pandas.series進(jìn)行布爾運(yùn)算經(jīng)常見财喳,但是經(jīng)常忘記掉怎么進(jìn)行計(jì)算肛捍,因此下定決心整理一下共虑,防止再忘記允扇。
錯(cuò)誤示范
s = pd.Series([1,2,3])
s>1 and s<2
此時(shí)為報(bào)錯(cuò):
The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
修改方法
- 加括號(hào)且運(yùn)算符修改為&缠局、|
s = pd.Series([1,2,3])
(s>1) & (s<2)
注意必須要有括號(hào)则奥,否則也會(huì)報(bào)錯(cuò)!
- 轉(zhuǎn)為numpy運(yùn)算甩鳄,代碼如下:
import numpy as np
import pandas as pd
s = pd.Series([1,2,3])
np.logical_and(s<1, s>1)
不過(guò)顯然逞度,轉(zhuǎn)為numpy還是比較麻煩的,推薦第一種方法妙啃。