Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
直到数字达到零为止的行[Python]_Python_Python 3.x_Pandas_Dataframe_Loops - Fatal编程技术网

直到数字达到零为止的行[Python]

直到数字达到零为止的行[Python],python,python-3.x,pandas,dataframe,loops,Python,Python 3.x,Pandas,Dataframe,Loops,我几天来一直试图找到解决这个问题的办法,但都没有用。 根据我们的预测,我们的仓库要求计算处理进货需要多少天 表格: “日处理量”=仓库每天处理多少件 “预测单位”=当天预计有多少新单位到达仓库 “积压工作”=一天结束时积压工作的单位数量(他们无法处理的部分+前几天遗留的部分) 原始数据: pd.DataFrame({'daily capacity':{'May 11':27500, “5月12日”:27500, “5月13日”:0, “5月14日”:0, “5月15日”:0, “5月16日”

我几天来一直试图找到解决这个问题的办法,但都没有用。 根据我们的预测,我们的仓库要求计算处理进货需要多少天

表格

  • “日处理量”=仓库每天处理多少件
  • “预测单位”=当天预计有多少新单位到达仓库
  • “积压工作”=一天结束时积压工作的单位数量(他们无法处理的部分+前几天遗留的部分)
原始数据: pd.DataFrame({'daily capacity':{'May 11':27500, “5月12日”:27500, “5月13日”:0, “5月14日”:0, “5月15日”:0, “5月16日”:0, “5月17日”:27500, “5月18日”:27500, “5月19日”:27500}, ‘预测单位’:{5月11日】:18007, “5月12日”:19305年, “五月十三日”:19122年, “5月14日”:17292年, 19592年5月15日, ‘5月16日’:23393, “5月17日”:19000, “5月18日”:18539, “5月19日”:18531}, “待办事项”:{5月11日”:0, “5月12日”:0, ‘五月十三日’:-19122, ‘5月14日’:-36414, ‘5月15日’:-56006, ‘五月十六日’:-79399, ‘5月17日’:-70899, ‘五月十八日’:-61938, ‘五月十九日’:-52969})

问题: 如何计算,对于每个日期,仓库处理当天到达的所有单元需要多少天。每个日期仓库有不同的处理能力,必须考虑到这一点

示例:“仓库将花费3.6天来处理5月16日到达的所有设备”

输出:包含每个日期的处理天数的列

我到目前为止所做的工作:我尝试使用.cumsum(),同时循环并创建一些定义,但找不到有效的方法

原始数据:

你有什么想法或建议的解决方案吗? 谢谢:-)

编辑:

我找到的临时解决方案,请告诉我是否正确:

dad.rename({'index':'dates'},axis=1,inplace=True)

def days_pr(bk,ind):
    temp = dad[ind:].copy()
    temp['cum cap'] = temp['daily capacity'].cumsum()
    i = ind
    cum_cp = temp['cum cap'][i]
    while cum_cp < abs(bk) and ind<7:
        i+=1
        cum_cp = temp['cum cap'][i]
    else:
        return (i-ind)

dad['days'] = [days_pr(bk,ind) for bk,ind in zip(dad['backlog'],dad.index)]
dad
dad.rename({'index':'dates'},axis=1,inplace=True)
def天数(bk,ind):
temp=dad[ind:]复制()
温度['cum cap']=温度['daily capacity'].cumsum()
i=ind
cum_cp=温度[‘cum cap'][i]

当cum_cp