如何筛选DataFrame文本列中不含空格的文本?
筛选DataFrame中不含空格的文本列
没问题!要从你的DataFrame的text列里只保留不含空格的文本,用Pandas的布尔索引就能轻松实现,我给你两种实用的方法:
方法1:使用str.contains取反
这是Pandas里处理字符串筛选的常用方式,通过检查文本是否包含空格,再取反得到我们需要的结果:
import pandas as pd # 先创建一个示例DataFrame模拟你的数据 df = pd.DataFrame({'text': ['hi how are you', 'good', 'hello_world', 'I love pandas', 'test']}) # 筛选出text列中不含空格的行 filtered_df = df[~df['text'].str.contains(' ')] # 查看结果 print(filtered_df)
运行后你会得到只包含good、hello_world、test的行,完美符合你的需求。这里的~是取反运算符,str.contains(' ')会标记出所有包含空格的行,取反后就留下了没有空格的文本。
方法2:直接检查空格是否存在
如果你觉得第一种方法有点绕,也可以用更直白的lambda函数逐个检查每个文本:
# 用lambda函数判断空格不在当前文本中 filtered_df = df[df['text'].apply(lambda x: ' ' not in x)]
这种写法逻辑更直观,对每个文本执行' ' not in x的判断,返回True的行就会被保留下来,结果和第一种方法完全一致。
小提示:如果你的text列里存在全是空格的文本(比如' '),这两种方法都会自动排除它,因为全空格的文本确实包含空格,符合我们的筛选规则。
内容的提问来源于stack exchange,提问作者Fahad Vadakkumpadatah
相关产品推荐
相关产品推荐

