簡體   English   中英

Python pandas DataFrame根據特定條件選擇行和列

[英]Python pandas DataFrame selection rows and columns based on specific condition

我有以下幾點:

  cl1 cl2 cl3 .... cln
0  aaa bbb ccc .... nnn
1  bbb aaa ccc .... nnn
2  xxx xxx xxx .... xxx

需要選擇行,列的值(其中任何一個)。lower()=='aaa'因此它是0和1行,輸出應為:

   cl1 cl2 cl3 .... cln
0  aaa bbb ccc .... nnn
1  bbb aaa ccc .... nnn

我嘗試了很多方法,但是所有方法都需要指定列名,但就我而言,我不了解列名。

因此,如果我知道列名,基本上類似的事情也可以工作:

df.loc[~df['something1'].str.lower().str.strip().isin(['something2'])]

您可以使用IIUC:

df[df.eq('aaa').any(axis=1)]

   cl1  cl2  cl3  cln
0  aaa  bbb  ccc  nnn
1  bbb  aaa  ccc  nnn

如果必須考慮lower()

df[df.apply(lambda x: x.str.lower()).eq('aaa').any(1)] #thanks Chris 

要么:

df[df.applymap(str.lower).eq('aaa').any(axis=1)] 

第二個更快,第一個可以處理NaN。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM