仅在特定列的值达到某个值时,我才想使用某种if条件进行绘制。
让我们在下面的示例中说,我只想在cycle的值== 2时作图。
router.register(r'promo', PromoViewSet)
如果我尝试此操作,则会遇到严重的错误:ValueError:Series的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。
直到现在,我还没有找到解决问题的方法的运气。
我非常感谢您提供有关此问题的帮助。 祝你有美好的一天。
答案 0 :(得分:2)
在这一行List<DocPropety>
中,if df['cycle']==2
返回了一个熊猫系列。当您将其与df['cycle']
进行比较时,pandas不知道是要按元素进行比较还是要对整个系列进行比较,因此模棱两可。您可以做的是根据您的条件过滤表格,或过滤各个系列。例如:
2
这里,您使用df = pd.DataFrame.from_items(data)
#print(df)
x = df.loc[df['cycle'] == 2, 'A']
y = df.loc[df['cycle'] == 2, 'B']
plt.plot(x,y)
作为布尔序列来索引原始数据帧,并仅返回df['cycle']
等于cycle
的那些项