背景:物料清单(BOM)在做关键器件筛选时,需要筛选出编码的前N码模糊匹配 给定的前缀list的所有bom行
关键点:前N码模糊匹配df['col'].str.startswith(tuple(item_prefix_list))
解决方法:
python
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)
输出结果:
bash
ITEM TYPE LT LAST_PERIOD
0 A0001 BUY 0 5
3 B1002 BUY 1 5