将条件应用于循环(熊猫)时出现值错误

时间:2019-11-27 12:56:01

标签: python pandas loops dataframe conditional-statements

while (i< len(df)):
    if (df['ID'][i] == df['ID'][i+1]) & (df['Week_start'] == df['Week_end']):
        if (df['ship'][i]  > df['ship'][i+1] ):
            df['radar'][i] =df['radar'][i+1] + df['parked'][i] - df['parked'][i+1]
        else:
            df['radar'][i] =df['radar'][i+1]
    else:
        df['radar'][i] = df['ship'][i]
    i = i+1

我试图使此代码运行,但我不断遇到错误:

  

ValueError:DataFrame的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

您推荐什么?本质上,我想根据条件填充柱状雷达,我认为其余的工作正常。

1 个答案:

答案 0 :(得分:1)

您在此行中收到错误:

df['Week_start'] == df['Week_end']

指定一些索引,例如

df['Week_start'][i]== df['Week_end'][i+1]

希望这会有所帮助!