我的数据帧中包含name,age,Task1,Task2,Task3。现在我需要得到所有的满足在任何一个字符串值的行Task1,Task2,Task3列。说我想检查'Drafting',关键词。如果'Drafting'作为任何这些列值的一部分存在,则必须将整行添加到结果帧中。
我试过isin()但我得到了真或假。我需要提取包含特定关键字的'N'行。我试过了,
df.columns[df.Task1.str.contains("Drafting")]但这比较并给出了单一栏目。任何人都知道如何使用str.contains或任何其他方法来比较列的字符串值并获取满足检查条件的所有行。
Name Age Task1 Task2 Task3
0 Ann 43 Drafting a Letter sending paking
1 Juh 29 sending paking Letter Drafting
2 Jeo 42 Pasting sending paking
3 Sam 59 sending pasting Letter Drafting
我需要检查关键字'Drafting'是否存在于任何列中[该列包含3到4个单词,需要检查这个单词/句子中是否存在Drafting]; 结果应该是:
Name Age Task1 Task2 Task3
0 Ann 43 Drafting a Letter sending paking
1 Juh 29 sending paking Letter Drafting
3 Sam 59 sending pasting Letter Drafting
解决办法:或者只是(注意这将检查整个df而不是特定的列):
df[df.astype(str).apply(lambda x: x.str.contains('Drafting')).any(axis=1)]
#for case insensitive use below
#df[df.astype(str).apply(lambda x: x.str.contains('Drafting',case=False)).any(axis=1)]
Name Age Task1 Task2 Task3
0 Ann 43 Drafting a Letter sending paking
1 Juh 29 sending paking Letter Drafting
3 Sam 59 sending pasting Letter Drafting








暂无数据