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

如何将日单位计算值向上取整至十位?附Python代码示例

问题解决代码修改

错误分析

原代码第三行直接覆盖了第二行的计算逻辑,跳过了÷30×7的日单位转换步骤,导致结果不符合预期。

修改后的代码

import numpy as np

filtered_df2['occupational'] = filtered_df2['continuous'].apply(lambda x: 1623500
    if x < 4 else 1801600 
    if x < 25 else 1848600 
    if x < 49 else 1894500)

# 先转日单位再向上取整到十位
filtered_df2['occupationaltotal'] = filtered_df2['occupational'].apply(
    lambda x: np.ceil((x / 30 * 7) / 10) * 10
)

逻辑说明

  1. 保留原有的occupational字段赋值逻辑不变
  2. 针对occupationaltotal字段,按以下步骤计算:
    • 先执行x /30 *7,将月度数值转换为7日单位的数值
    • 将转换后的数值除以10,缩小量级以便对十位取整
    • 用np.ceil()对缩小后的数值向上取整
    • 最后乘以10还原量级,得到十位对齐的结果

以1801600为例:
1801600 /30 *7 ≈420373.333 → 420373.333 /10=42037.333 → np.ceil(42037.333)=42038 → 42038*10=420380,完全匹配需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 12:41:18