欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas多個條件(AND,OR,NOT)中提取行

 更新時間:2023年02月22日 10:39:22   作者:餃子大人  
本文主要介紹了Pandas多個條件(AND,OR,NOT)中提取行,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

使用Pandas從多個條件(AND,OR,NOT)中提取行的方法。

有以下2點需要注意:

  • &,|,?的使用(and、or、not的錯誤)
  • 使用比較運算符時,請將每個條件括在括號中。

以下數據為例。

import pandas as pd

df = pd.read_csv('./data/09/sample_pandas_normal.csv')
print(df)
# ? ? ? name ?age state ?point
# 0 ? ?Alice ? 24 ? ?NY ? ? 64
# 1 ? ? ?Bob ? 42 ? ?CA ? ? 92
# 2 ?Charlie ? 18 ? ?CA ? ? 70
# 3 ? ? Dave ? 68 ? ?TX ? ? 70
# 4 ? ?Ellen ? 24 ? ?CA ? ? 88
# 5 ? ?Frank ? 30 ? ?NY ? ? 57

本例是使用pandas.DataFrame,但pandas.Series也同樣適用。

如何提?。ㄟx擇)行

首先,展示如何從pandas.DataFrame中提?。ㄟx擇)行以獲得新的pandas.DataFrame。

使用布爾列表(數組)或pandas.Series,只能提?。ㄟx擇)True行。

mask = [True, False, True, False, True, False]
df_mask = df[mask]
print(df_mask)
#       name  age state  point
# 0    Alice   24    NY     64
# 2  Charlie   18    CA     70
# 4    Ellen   24    CA     88

通過AND,OR,NOT多個條件提取(選擇)行的代碼-示例

具有兩個條件值的pandas.Series,可以使用&獲得如下結果。在這里,為了便于說明,將==和?用作二個條件,但是僅使用!=也是可以。

print(df['age'] < 35)
# 0 ? ? True
# 1 ? ?False
# 2 ? ? True
# 3 ? ?False
# 4 ? ? True
# 5 ? ? True
# Name: age, dtype: bool

print(~(df['state'] == 'NY'))
# 0 ? ?False
# 1 ? ? True
# 2 ? ? True
# 3 ? ? True
# 4 ? ? True
# 5 ? ?False
# Name: state, dtype: bool

print((df['age'] < 35) & ~(df['state'] == 'NY'))
# 0 ? ?False
# 1 ? ?False
# 2 ? ? True
# 3 ? ?False
# 4 ? ? True
# 5 ? ?False
# dtype: bool

僅提?。ㄟx擇)True行。

df_and = df[(df['age'] < 35) & ~(df['state'] == 'NY')]
print(df_and)
#       name  age state  point
# 2  Charlie   18    CA     70
# 4    Ellen   24    CA     88

對于OR也是如此。使用|。

print((df['age'] < 20) | (df['point'] > 90))
# 0 ? ?False
# 1 ? ? True
# 2 ? ? True
# 3 ? ?False
# 4 ? ?False
# 5 ? ?False
# dtype: bool

df_or = df[(df['age'] < 20) | (df['point'] > 90)]
print(df_or)
# ? ? ? name ?age state ?point
# 1 ? ? ?Bob ? 42 ? ?CA ? ? 92
# 2 ?Charlie ? 18 ? ?CA ? ? 70

3個以上條件的運算符的優(yōu)先級

運算符的優(yōu)先級是NOT(?),AND(&),OR(|)。因此,結果因順序而異。

df_multi_1 = df[(df['age'] < 35) | ~(df['state'] == 'NY') & (df['point'] < 75)]
print(df_multi_1)
# ? ? ? name ?age state ?point
# 0 ? ?Alice ? 24 ? ?NY ? ? 64
# 2 ?Charlie ? 18 ? ?CA ? ? 70
# 3 ? ? Dave ? 68 ? ?TX ? ? 70
# 4 ? ?Ellen ? 24 ? ?CA ? ? 88
# 5 ? ?Frank ? 30 ? ?NY ? ? 57

df_multi_2 = df[(df['age'] < 35) & (df['point'] < 75) | ~(df['state'] == 'NY')]
print(df_multi_2)
# ? ? ? name ?age state ?point
# 0 ? ?Alice ? 24 ? ?NY ? ? 64
# 1 ? ? ?Bob ? 42 ? ?CA ? ? 92
# 2 ?Charlie ? 18 ? ?CA ? ? 70
# 3 ? ? Dave ? 68 ? ?TX ? ? 70
# 4 ? ?Ellen ? 24 ? ?CA ? ? 88
# 5 ? ?Frank ? 30 ? ?NY ? ? 57

將每個組括在括號中比較安全。

df_multi_3 = df[((df['age'] < 35) | ~(df['state'] == 'NY')) & (df['point'] < 75)]
print(df_multi_3)
#       name  age state  point
# 0    Alice   24    NY     64
# 2  Charlie   18    CA     70
# 3     Dave   68    TX     70
# 5    Frank   30    NY     57

到此這篇關于Pandas多個條件(AND,OR,NOT)中提取行的文章就介紹到這了,更多相關Pandas多條件提取行內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python中rb含義理解

    python中rb含義理解

    在本篇文章里小編給大家整理的是關于python中rb含義及用法內容,需要的朋友們可以學習下。
    2020-06-06
  • python從入門到實踐之組合數據類型

    python從入門到實踐之組合數據類型

    這篇文章主要為大家介紹了python組合數據類型,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Python+OpenCV實現尋找到圓點標定板的角點

    Python+OpenCV實現尋找到圓點標定板的角點

    這篇文章主要為大家詳細介紹了Python+OpenCV實現找到圓點標定板所有點后通過距離找兩個角點,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-11-11
  • Python動力系統(tǒng)驗證三體人是否真的存在

    Python動力系統(tǒng)驗證三體人是否真的存在

    這篇文章主要介紹了Python動力系統(tǒng)驗證三體人是否真的存在,文中含有詳細的圖文示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • 基于Python 裝飾器裝飾類中的方法實例

    基于Python 裝飾器裝飾類中的方法實例

    下面小編就為大家分享一篇基于Python 裝飾器裝飾類中的方法實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python爬蟲包BeautifulSoup學習實例(五)

    Python爬蟲包BeautifulSoup學習實例(五)

    這篇文章主要為大家詳細介紹了Python爬蟲包BeautifulSoup的學習實例,具有一定的參考價值,感興趣的朋友可以參考一下
    2018-06-06
  • 淺談pytorch中為什么要用 zero_grad() 將梯度清零

    淺談pytorch中為什么要用 zero_grad() 將梯度清零

    這篇文章主要介紹了pytorch中為什么要用 zero_grad() 將梯度清零的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python字典添加,刪除,查詢等相關操作方法詳解

    Python字典添加,刪除,查詢等相關操作方法詳解

    這篇文章主要介紹了Python字典添加,刪除,查詢等相關操作方法詳解,需要的朋友可以參考下
    2020-02-02
  • python如何開啟多線程

    python如何開啟多線程

    這篇文章主要介紹了python如何開啟多線程問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 關于Python內存分配時的小秘密分享

    關于Python內存分配時的小秘密分享

    這篇文章主要給大家分享介紹了關于Python內存分配時的小秘密,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09

最新評論