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

按星期几维度累加Dataframe日期对应交易数据的技术需求

按星期几维度累加交易数据的Pandas实现方案

我来帮你搞定这个按星期几汇总交易量的需求,用Pandas几步就能轻松实现,下面是具体的步骤和代码示例:

1. 确保日期列是Datetime类型

首先要确认你的Date列是Pandas的datetime格式,如果原始数据是字符串的话,先转换一下:

import pandas as pd

# 转换日期列为datetime类型(如果还没转的话)
df['Date'] = pd.to_datetime(df['Date'])

2. 提取星期几信息

你有两种方式获取星期几的标识,根据需求选就行:

  • 方式一:获取星期名称(如Monday、Tuesday)
# 新增Weekday列,存储星期名称
df['Weekday'] = df['Date'].dt.day_name()
  • 方式二:获取星期数字(0=周一,1=周二...6=周日)
# 新增Weekday_Num列,存储星期数字
df['Weekday_Num'] = df['Date'].dt.weekday

3. 按星期几分组累加交易量

接下来就可以按星期几分组,对所有交易量列进行求和了:

用星期名称分组的完整示例

# 提取星期名称
df['Weekday'] = df['Date'].dt.day_name()

# 按星期几分组,计算各股票交易量的总和
weekly_volume_total = df.groupby('Weekday')[['ANZ_Volume', 'BHP_Volume', 'CBA_Volume', 'MQG_Volume', 'NAB_Volume']].sum()

# 可选:按周一到周日的顺序排序(默认groupby会按字母排序,比如Friday会在Monday前面)
week_order = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
weekly_volume_total = weekly_volume_total.reindex(week_order)

用星期数字分组的示例

# 提取星期数字
df['Weekday_Num'] = df['Date'].dt.weekday

# 分组求和
weekly_volume_total = df.groupby('Weekday_Num')[['ANZ_Volume', 'BHP_Volume', 'CBA_Volume', 'MQG_Volume', 'NAB_Volume']].sum()

4. 可选:只统计工作日(周一到周五)

如果你的交易数据只有工作日有记录,或者你只想看工作日的累加结果,可以先过滤掉周六和周日:

# 过滤出周一到周五的数据(weekday数字0-4对应周一到周五)
workday_df = df[df['Date'].dt.weekday < 5]

# 按星期名称分组求和并排序
weekly_volume_total = workday_df.groupby('Weekday')[['ANZ_Volume', 'BHP_Volume', 'CBA_Volume', 'MQG_Volume', 'NAB_Volume']].sum()
weekly_volume_total = weekly_volume_total.reindex(week_order[:5])  # 只取周一到周五的顺序

这样处理完之后,weekly_volume_total就是你需要的按星期几维度累加后的结果啦,每一行对应一个星期几,列是各股票的总交易量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:08:11