看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)电商后台有 10 条用户反馈,部分反馈中包含特定关键词。现在需要筛选出包含关键词“问题”或“不满”的反馈。源数据如下:
import pandas as pd
df = pd.DataFrame({
"反馈": ["产品很好,没有瑕疵",
"物流太慢,有点不满",
"质量不错,非常满意",
"产品有问题,需要解决",
"服务很好,没有想说的",
"价格合理,比较划算",
"产品有问题,需要改进",
"服务很好,非常满意",
"质量不错,使用方便",
"物流太慢,有点不满"]
})
df
输出结果:
反馈
0 产品很好,没有瑕疵
1 物流太慢,有点不满
2 质量不错,非常满意
3 产品有问题,需要解决
4 服务很好,没有想说的
5 价格合理,比较划算
6 产品有问题,需要改进
7 服务很好,非常满意
8 质量不错,使用方便
9 物流太慢,有点不满
具体要求: 用 一行链式调用代码 筛选出包含关键词 “问题” 或 “不满” 的反馈,并打印结果。
代码如下:
result = df[df["反馈"].str.contains("问题|不满")]
print(result)
输出结果:
反馈
1 物流太慢,有点不满
3 产品有问题,需要解决
6 产品有问题,需要改进
9 物流太慢,有点不满
str.contains()
是 Pandas 提供的一个字符串操作方法,用于在 Series 的每个字符串中查找是否包含指定的正则表达式模式。在这个例子中,我们对 df["反馈"]
列调用 str.contains("问题|不满")
,它会逐个检查每条反馈中是否包含关键词“问题”或“不满”。如果包含,则返回 True
,否则返回 False
。然后我们用这个布尔序列对原 DataFrame 进行筛选,得到符合条件的行。
(完)
更新时间:2025-09-19 14:45:02 标签:pandas python 筛选 关键词