我正在处理供求表,该表计算每个月每个点的存储量。如果某一点的存储容量超过92,则清空存储,然后将92个单元“传输”到另一点。然后,此时的存储容量再次为0,并开始累加单位。在我的情况下,我想将“运走”的92个单位存储在字典中。
我已经为Excel工作表编写了代码(工作正常),但是现在我想改为使用数据框。但是,我无法使用数据框正确更新字典中的值。
我已经尝试过了:
#Dictionary
WWTP = {'Mar':0,'Apr':0,'Mai':0,...., 'Feb':0}
for row in df.iteritems():
df['Mar']= df['Supply_month']+ 30
for key, value in WWTP.iteritems():
if [df.Mar >= 92]:
WWTP['Mar']=+92
....(more code)
我得到的结果是这样。
WWTP = {'Mar':92,'Apr':92,'Mai':92,...., 'Feb':92}
这只会给字典添加92的1倍,但是我希望每当一行中的值超过92时就添加92。我想要的结果是
WWTP={'Mar': 92, 'Apr': 184, 'Mai': 1012,...,'Feb':2000}
这是我目前所拥有的代码,字典在其中更新,但是并没有按照我想要的正确显示:
WWTP = {'Mar':0,'Apr':0,'Mai':0,...., 'Feb':0}
for row in df.iteritems():
df['Apr']= df['Mar']+df['Supply_month']
if [df.Apr >= 92]:
WWTP['Apr']+=92
df['Apr']=df['Supply_month']
else:
WWTP['Apr']+=0
(...)
我得到的结果:
WWTP={'Mar': 1350, 'Apr': 1350, 'Mai': 1350,...,'Feb':1350}
答案 0 :(得分:2)
可能是一个小错误,您需要使用WWTP['Mar'] += 92
而不是WWTP['Mar']=+92