我想使用某种if条件,仅当特定列的值达到某个值时才进行绘图。你知道吗
假设在下面的例子中,我只想在循环值==2的情况下绘图。你知道吗
import pandas as pd
import matplotlib.pyplot as plt
data = [('cycle',[1,1,2,2,3,3,4,4]),
('A',[0.1,0.5,0.2,0.6,0.15,0.43,0.13,0.59]),
('B',[ 500, 600, 510,580,512,575,499,598]),
]
df = pd.DataFrame.from_items(data)
#print(df)
x = df['A']
y = df['B']
if df['cycle']==2:
plt.plot(x,y)
如果我这样做,我得到了fowling错误:ValueError:序列的真值是模糊的。使用a.empty、a.bool()、a.item()、a.any()或a.all()。你知道吗
直到现在,我还没找到解决问题的办法。你知道吗
我很感谢在这个问题上给予的任何帮助。 祝你今天愉快。你知道吗
在这行
if df['cycle']==2
中,df['cycle']
返回一个熊猫系列。当您将其与2
进行比较时,pandas不知道您是要对元素进行比较,还是要对整个系列进行比较,这是不明确的。您可以做的是根据您的条件过滤表,或者过滤单个序列。例如:在这里,您使用
df['cycle']
作为一个布尔序列来索引原始数据帧,并且只返回那些cycle
等于2
的项相关问题 更多 >
编程相关推荐