基于给定方法的销售额计算与预测销售额定义技术问询
解决方案:基于预定义季度值计算基础预测销售额
我完全明白你的需求:要保留df2中Sales列前4个季度的NA值,从第5行(也就是索引为4的位置,对应第5个数据点)开始,累加cutoff_sales的首个季度值(即1),同时cutoff_sales是包含4个公司预定义季度值的列表。
实现思路
- 保持
df2前4行的Sales值为NA不变 - 针对第5行及之后的位置,生成以
cutoff_sales[0]为步长的累加序列 - 将生成的序列替换到
df2对应位置的Sales列中
代码实现(基于Pandas)
import pandas as pd import numpy as np # 初始化给定数据 cutoff_sales = [1, 2, 1, 3] df2 = pd.DataFrame({ 'Sales': [np.nan, np.nan, np.nan, np.nan, 1.2, 2.1, 1.4, 1.1, 2.1, 1.4, 1.1, 1.2, 2.1, 1.4, 1.1, 1.2, 2.1, 1.4, 1.1, 2.3] }) # 计算需要替换的数据行数 replace_count = len(df2) - 4 # 生成累加序列:从cutoff_sales[0]开始,每次累加该值 predicted_sales = np.arange(1, replace_count + 1) * cutoff_sales[0] # 替换目标位置的数值 df2.loc[4:, 'Sales'] = predicted_sales # 查看结果 print(df2)
补充说明
如果之后你需要循环复用cutoff_sales的四个季度值(比如第5-8行用Q1值,9-12行用Q2值,以此循环),可以随时提出来,我会帮你调整代码逻辑。
内容的提问来源于stack exchange,提问作者bradon Mc
相关产品推荐
相关产品推荐

