筛选DataFrame中以指定列表元素开头的观测值
筛选DataFrame中以指定前缀开头的行
原始数据
import pandas as pd df = pd.DataFrame({'code': ['52511', '52512', '12525', '13333']}) prefix_list = ['525', '13333'] # 避免用`list`作为变量名,防止覆盖内置类型
解决方案
利用Pandas的str.startswith()方法,它支持传入字符串列表,直接判断每个code值是否以列表中任意元素开头,再通过布尔索引筛选行:
# 执行筛选 filtered_df = df[df['code'].str.startswith(prefix_list)] # 可选:重置索引(如果需要连续的索引) filtered_df = filtered_df.reset_index(drop=True)
输出结果
print(filtered_df) # 输出: # code # 0 52511 # 1 52512 # 2 13333
这个方法简洁高效,直接满足需求——仅保留code列值以prefix_list内元素开头的观测值。
内容的提问来源于stack exchange,提问作者davide1993
相关产品推荐
相关产品推荐

