如何使用数据帧中的“if”语句更新字典中的值?

2024-05-13 02:00:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个供需表,它计算每个月每个点的存储量。如果某个点的存储容量超过92,则存储空间被清空,92个单元被“运输”到另一个点。之后,此时的存储容量再次为0,并开始累积单位。在我的例子中,我想把92个单位存储在字典中

我已经为Excel工作表编写了一个代码(可以很好地工作),但是现在我想使用一个数据框。但是,我无法用Dataframe正确更新字典中的值

我试过这个:

#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}

这只会给字典增加1倍92,但是我希望每一行中的值超过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}

Tags: 代码indffor字典单位aprmar