python中的定义以返回颜色

我正在做一个简单的定义,以根据一些间隔返回颜色列表。不幸的是,我一直收到以下错误:

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

我已经看到了以下关于stackoverflow的讨论,但是只有失败的尝试才能使它起作用。

Truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()

这是我的代码:

y = 5
std = pd.Series([1,1,1,1])
values = pd.Series([2, 4, 6, 8])
colors = []
def colorbybar():
    for i in values:
        if y < (values - (2*std)):
            colors[i] = 'darkblue'
        elif y < (values - std):
            colors[i] = 'blue'
        elif y < values:
            colors[i] = 'white'
        elif y < (values + std):
            colors[i] = 'red'
        elif y < (values + (2*std)):
            colors[i] = 'darkred'
    return colors

colorbybar()
评论