0 实验数据
仓库商品信息全表(表名=sku_all)
仓库 | 仓库ID | SKU | 状态 | 批次 | 效期 | 批号 | 库存 |
---|---|---|---|---|---|---|---|
备货仓 | 7 | 102001 | 1 | YQ1HMC | 43693 | 20190816 | 11 |
... | ... | ... | ... | ... | ... | ... | ... |
华东仓(原零售仓) | 5 | 102116 | 1 | YQ2FMA | 43622 | 20190606 | 7 |
内部测试仓 | 0 |
import pandas as pd
sku_all = pd.DataFrame([['备货仓','7','102001','1','YQ1HMC','43693','20190816',11],['华东仓(原零售仓)','5','102001','1','YQ1HMC','43693','20190816',5],['备货仓','7','102001','3','YQ1HMC','43693','20190816',1],['华东仓(原零售仓)','5','102002','1','YQ1HMB','43692','20190815',6],['华东仓(原零售仓)','5','102005','1','YQ1HMB','43693','20190816',10],['备货仓','7','102101','3','CSQA002','43130','20180130',1],['华东仓(原零售仓)','5','102104','1','CSRF001','43651','20190705',6],['备货仓','7','102104','3','dfhg','43651','20190705',1],['华东仓(原零售仓)','5','102105','1','CSRE001','43609','20190524',2],['备货仓','7','102105','3','0411A','43609','20190524',1],['华东仓(原零售仓)','5','102111','1','CSRF001','43651','20190705',2],['华东仓(原零售仓)','5','102111','1','fh22','43651','20190705',1],['备货仓','7','102111','3','dg0h52','43587','20190502',1],['备货仓','7','102113','3','CSRF002','43651','20190705',1],['华东仓(原零售仓)','5','102114','1','A','43634','20190618',1],['备货仓','7','102114','3','fh02','43634','20190618',1],['华东仓(原零售仓)','5','102115','1','','43650','20190704',1],['备货仓','7','102116','1','YQ2FMA','43622','20190606',6],['华东仓(原零售仓)','5','102116','1','YQ2FMA','43622','20190606',7],['内部测试仓','0','','','','','',]],columns=['仓库','仓库编号','SKU','状态','批次','有效日期','批号','库存'])
1 数据筛选(等价于SQL中的where语句)
# 仅选取备货仓中,涉及SKU在'102001'和'102104'中,且要求单行库存数量高于10的数据
sku_all[(sku_all['仓库']=='备货仓') & (sku_all['SKU'].isin(['102001','102104'])) & (sku_all['库存']>=10)]
# SKU “不” 在'102001'和'102104'中,且要求单行库存数量高于10的数据
sku_all[-(sku_all['SKU'].isin(['102001','102104'])) & (sku_all['库存']>=10)]
# 仅选取仓库名称中不含“备货”两字,且要求单行库存数量高于10的数据
sku_all[-(sku_all['仓库'].str.contains('备货')) & (sku_all['库存']>=10)]