Day 2611:学习
2024-03-20 本文已影响0人
kafkaliu
df = df[~df['attend_demo_course_name'].str.contains('测试') & ~df['attend_demo_course_name'].str.contains('磨课') & ~df['attend_demo_course_name'].str.contains('练课')]
先理解此代码,然后改成更简洁的写法,以便将来可以添加新的过滤词
首先,这段代码使用了 Pandas 的 str.contains 方法来过滤 DataFrame 中的行,以删除包含特定字符串的行。接下来,我们将简化这段代码,以便将来可以轻松地添加新的过滤词。
为了简化代码,我们可以使用 apply 方法和 lambda 函数,这样可以更容易地添加新的过滤词。下面是简化后的代码:
python
获取所有需要过滤的词 filter_words = ['测试', '磨课', '练课'] # 使用 apply 方法和 lambda 函数进行过滤 df = df[~df['attend_demo_course_name'].apply(lambda x: any(word in x for word in filter_words))]
在这段简化后的代码中,我们首先定义了一个 filter_words 列表,其中包含所有需要过滤的词。然后,我们使用 apply 方法和 lambda 函数来检查每行中的字符串是否包含任何需要过滤的词,如果包含则将其删除。
这种简化的写法使得我们可以轻松地添加新的过滤词,只需将新的过滤词添加到 filter_words 列表中即可。