如何用Python的Pandas计算销售数据集中各产品的周转时间
高效计算各产品销售周期天数差(Pandas实现)
直接用Pandas的分组聚合就能高效解决,完全不需要for循环,10万条数据处理起来毫无压力,步骤如下:
确认日期列格式(如果还未转换为datetime类型):
# 若solDate还不是datetime类型,先执行转换 df['solDate'] = pd.to_datetime(df['solDate'])分组计算每个产品的首次/末次销售日期,再求天数差:
# 按product分组,提取solDate的最小(首次)和最大(末次)值 date_range = df.groupby('product')['solDate'].agg(['min', 'max']) # 计算日期差并转为整数天数 date_range['days_diff'] = (date_range['max'] - date_range['min']).dt.days最终结果是一个DataFrame,每行对应一个唯一产品,包含首次销售日期、末次销售日期以及两者的天数差。
效率说明
Pandas的groupby和agg基于底层向量化运算实现,避免了Python层面的循环开销,处理10万级数据的速度比for循环快几十甚至上百倍。
内容的提问来源于stack exchange,提问作者bluj999
相关产品推荐
相关产品推荐

