淺談Python中(&,|)和(and,or)之間的區(qū)別
(&,|)和(and,or)是兩組比較相似的運算符,用在“與”/ “或”上,在用法上有些許區(qū)別。
(&,|)和(and,or)是用來比較兩組變量的,格式基本上是:
a & b a | b a and b a or b
如果a,b是數(shù)值變量, 則&, |表示位運算, and,or則依據(jù)是否非0來決定輸出,
&, |:
# 1&2,2在二進制里面是10,1在二進制中是01,那么01與運算10得到是0 1 & 2 # 輸出為 0, 1 | 2 # 輸出為3
and, or:
# 判斷變量是否為0, 是0則為False,非0判斷為True, # and中含0,返回0; 均為非0時,返回后一個值, 2 and 0 # 返回0 2 and 1 # 返回1 1 and 2 # 返回2 # or中, 至少有一個非0時,返回第一個非0, 2 or 0 # 返回2 2 or 1 # 返回2 0 or 1 # 返回1
如何a, b是邏輯變量, 則兩類的用法基本一致
In[103]:(3>0) | (3<1) Out[103]: True In[104]:(3>0) and (3<1) Out[104]: False In[105]:(3>0) or (3<1) Out[105]: True In[106]:(3>0) & (3<1) Out[106]: False
值得提及的是在DataFrame的切片過程,要注意邏輯變量的使用,
需要求得滿足多個邏輯條件的數(shù)據(jù)時,要使用& 和|,在某些條件下用and/ or會報錯‘ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().'
target_url = "http://aima.cs.berkeley.edu/data/iris.csv" data = pd.read_csv(target_url, header=None, columns=['s_line', 's_wid', 'p_line', 'p_wid', 'kind']) data.columns = ['s_line', 's_wid', 'p_line', 'p_wid', 'kind'] x_data = data.iloc[:, :-1] # 在多個邏輯條件下,用& 或者|, x_1 = x_data[x_data['s_line'] > 6 & x_data['p_wid'] > 0]

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
pytorch cnn 識別手寫的字實現(xiàn)自建圖片數(shù)據(jù)
這篇文章主要介紹了pytorch cnn 識別手寫的字實現(xiàn)自建圖片數(shù)據(jù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
python+selenium 定位到元素,無法點擊的解決方法
今天小編就為大家分享一篇python+selenium 定位到元素,無法點擊的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01

