如果条件与python熊猫数据框并用matplotlib绘制

时间:2019-03-04 16:03:30

标签: python pandas matplotlib

仅在特定列的值达到某个值时,我才想使用某种if条件进行绘制。

让我们在下面的示例中说,我只想在cycle的值== 2时作图。

router.register(r'promo', PromoViewSet)

如果我尝试此操作,则会遇到严重的错误:ValueError:Series的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

直到现在,我还没有找到解决问题的方法的运气。

我非常感谢您提供有关此问题的帮助。 祝你有美好的一天。

1 个答案:

答案 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的那些项