【发布时间】:2019-08-29 11:28:14
【问题描述】:
这是我的数据框,我需要根据行值的时间小时(早上、下午、晚上、晚上)创建一个新列
这是我的代码
if ((prods['hour'] < 4) & (prods['hour'] > 8 )):
prods['session'] = 'Early Morning'
elif ((prods['hour'] < 8) & (prods['hour'] > 12 )):
prods['session'] = 'Morning'
elif ((prods['hour'] < 12) & (prods['hour'] > 16 )):
prods['session'] = 'Noon'
elif ((prods['hour'] < 16) & (prods['hour'] > 20 )):
prods['session'] = 'Eve'
elif ((prods['hour'] < 20) & (prods['hour'] > 24 )):
prods['session'] = 'Night'
elif ((prods['hour'] < 24) & (prods['hour'] > 4 )):
prods['session'] = 'Late Night'
这是我得到的错误
ValueError Traceback(最近调用 最后)在 ----> 1 if (prods['hour'] > 4 and prods['hour'] 8 和 prods['hour'] 12 and prods['hour']
/anaconda3/lib/python3.7/site-packages/pandas/core/generic.py nonzero(self) 1476 raise ValueError("{0} 的真值不明确。" 1477 "使用 a.empty, a.bool()、a.item()、a.any() 或 a.all()。” -> 1478 .format(self.class.name)) 1479 1480 bool = 非零
ValueError:Series 的真值不明确。使用a.empty, a.bool()、a.item()、a.any() 或 a.all()。
请帮忙
【问题讨论】:
-
试过了同样的错误。
-
您正在将单个值与整个列进行比较,这就是您收到该错误的原因。以文本而不是图像的形式提供数据