Python:移除DataFrame中字符数小于3的字符串但保留含项目符号的条目
解决方案:保留含项目符号的条目,同时过滤短文本
我来帮你搞定这个需求!你需要的是一个复合过滤条件,既能移除字符数少于3的条目,又能完整保留所有带项目符号(•)的内容——不管它们的长度是多少(单独的项目符号、带空格、后面跟文本的情况都能覆盖)。
完整代码示例
import pandas as pd # 输入数据 data = {'ID':[1,2,3,4,5,6,7], 'Column_A':['This', 'Is', 'A','Test', '• ', '•', '•test']} df_in = pd.DataFrame(data) # 构建复合过滤条件:要么字符长度≥3,要么包含项目符号• filter_condition = (df_in['Column_A'].str.len() >= 3) | (df_in['Column_A'].str.contains('•')) # 应用过滤条件得到结果 df_out = df_in[filter_condition] print(df_out)
代码逻辑解释
我们用**逻辑或(|)**把两个条件结合起来,确保满足任意一个条件的行都会被保留:
df_in['Column_A'].str.len() >= 3:筛选出字符长度至少为3的常规文本条目df_in['Column_A'].str.contains('•'):匹配所有包含项目符号的条目,不管其长度如何
运行这段代码后,你会得到预期的输出:
ID Column_A 0 1 This 3 4 Test 4 5 • 5 6 • 6 7 •test
这个方案完美覆盖了你提到的所有场景:既移除了Is(长度2)、A(长度1)这类短文本,又保留了所有带项目符号的条目,包括单独的•、带空格的• ,以及带文本的•test。
内容的提问来源于stack exchange,提问作者constiii
相关产品推荐
相关产品推荐

