You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pandas筛选始终零销售额及近3日零销售额的卖家

Pandas筛选两类特定销售额的卖家列表

数据预处理

先合并多个结构一致的表格,再按卖家和日期排序,确保能准确识别最近的销售日期:

import pandas as pd

# 合并所有目标表格(假设表格存储在列表dfs中)
combined_df = pd.concat(dfs)

# 转换日期格式并按卖家、日期升序排序
combined_df['Date'] = pd.to_datetime(combined_df['Date'])
combined_df = combined_df.sort_values(by=['Seller', 'Date'])

1. 筛选所有日期销售额均为0的卖家

按卖家分组后,检查每组的销售额是否全部为0:

# 标记每个卖家的所有销售额是否都为0
all_zero_mask = combined_df.groupby('Seller')['sales'].transform(lambda x: (x == 0).all())
# 提取符合条件的唯一卖家列表
all_zero_sellers = combined_df[all_zero_mask]['Seller'].unique().tolist()

print("所有日期销售额均为0的卖家:", all_zero_sellers)

2. 筛选最近3个日期销售额为0但此前有销售额的卖家

分两步筛选:先找出最近3个日期销售额全0的卖家,再从中过滤出历史存在非0销售额的卖家:

# 第一步:获取每个卖家最近3个日期的数据,筛选出这3天销售额全0的卖家
latest_3_groups = combined_df.groupby('Seller').tail(3)
latest_zero_candidates = latest_3_groups.groupby('Seller').filter(lambda x: (x['sales'] == 0).all())['Seller'].unique().tolist()

# 第二步:从候选卖家中,筛选出历史有非0销售额的卖家
has_non_zero_candidates = combined_df.groupby('Seller').filter(lambda x: (x['sales'] > 0).any())['Seller'].unique().tolist()

# 取交集得到最终符合条件的卖家
second_category_sellers = [seller for seller in latest_zero_candidates if seller in has_non_zero_candidates]

print("最近3个日期销售额为0但此前有销售额的卖家:", second_category_sellers)

内容的提问来源于stack exchange,提问作者harry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 08:02:38