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

如何从Pandas DataFrame读取指定列并计算日销售额差值

计算Pandas DataFrame中销售额的日差值

步骤分解

  • 读取指定列:读取CSV时直接指定要加载的date和sales value列,减少不必要的内存占用
  • 标准化日期格式:将date列转换为Pandas的datetime类型,确保日期顺序逻辑正确(避免字符串排序导致的计算错误)
  • 计算日差值:使用shift()方法获取前一日的销售额,用当日销售额减去昨日值得到差值,首行无昨日数据,填充为0

完整代码示例

import pandas as pd

# 读取CSV,仅加载需要的列
df = pd.read_csv('sales_data.csv', usecols=['date', 'sales value'])

# 将date列转换为datetime类型,匹配示例中的日期格式
df['date'] = pd.to_datetime(df['date'], format='%d-%b-%y')

# 按日期排序(若CSV中日期无序,这一步是必要的)
df = df.sort_values('date').reset_index(drop=True)

# 添加diff列:当日销售额减去昨日销售额,首行空值填充为0
df['diff'] = df['sales value'] - df['sales value'].shift(1)
df['diff'] = df['diff'].fillna(0).astype(int)

print(df)

运行结果

datesales valuediff
2022-10-101000
2022-10-1112020
2022-10-12105-15

关键说明

  • pd.to_datetime()的format参数要严格匹配你的CSV日期格式,示例中对应日-月份缩写-两位年份的格式
  • 必须确保数据按日期排序,否则shift()会取到错误的前一行数据
  • 如果不需要将差值转为整数,可以去掉.astype(int)部分

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 19:45:36