[英]Python - Replicate rows in Pandas Dataframe based on condition
[英]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.