背景:物料清单(BOM)在做关键器件筛选时,需要筛选出编码的前N码模糊匹配给定的前缀list的所有bom行
关键点:前N码模糊匹配 df['col'].str.startswith(tuple(item_prefix_list))
解决方法:
import pandas as pd# 创建一个示例DataFrame
data = {'ITEM': ['A0001', 'B0001', 'C0001', 'B1002', 'D0001'],'TYPE': ['BUY', 'BUY', 'BUY', 'BUY', 'MAKE'],'LT': [0, 1, 3, 1, 2],'LAST_PERIOD': [5, 4, 6, 5, 7],}
df = pd.DataFrame(data)# 给定的前缀list
item_prefix_list = ['A0', 'B1']# 对ITEM列进行前N码模糊匹配
matched_rows = df[df['ITEM'].str.startswith(tuple(item_prefix_list), na=False)]# 输出匹配的行
print(matched_rows)
输出结果:
ITEM TYPE LT LAST_PERIOD
0 A0001 BUY 0 5
3 B1002 BUY 1 5