我已经搜索了所有可能的解决方案,但似乎从来没有以对我来说清晰易懂的方式创建情节。它也适用于潜在的100个数据帧列,因此处于循环或类似性质的解决方案将是首选
我的数据框大致是这个
数据=
Time Pressure Static Temperature Stag Temperature
0 100 50 75
10 105 55 77
20 110 59 81
30 106 57 79
我想要的是3个不同的图表,它们绘制压力,静态温度和Stag温度与时间的关系,这将是X轴。
我当前的代码看起来像
import pandas
data=pandas.read_csv(data.csv')
for header in data:
data.plot(x='System Time',y=header)
我想我理解的问题是,对于我的data.plot需要有y ="引号中的东西"但我认为因为标题是一个字符串它应该工作。
获得多个图表的任何解决方案都绝对精彩!
另外,如果我的格式被搞砸了,我很抱歉,因为这是我第一次发帖!
答案 0 :(得分:0)
我认为你正在寻找这个:
>>> data.plot(x="Time")
但是,要实现这一点,我必须重新格式化您的data.csv
文件以用逗号替换空格,因为它是 C omma S中的默认分隔符 eparated V alues文件。也许您的原始文件已制成表格,在这种情况下,您需要为sep='\t'
来电指定read_csv()
。
答案 1 :(得分:0)
如果有人在将来发现这一点,我想出了自己的问题!
问题是每次都抛出一个错误而且它说的都是
KeyError: 'Time'
这个问题的出现是因为'时间'是我的x轴,然后它通过"数据"的迭代成为我的y轴。因此,在第一个循环中每次都会停止。
要解决这个问题,我所要做的就是添加一个跳过我的x轴的列的语句
import pandas
data=pandas.read_csv(r'data.csv')
for header in data:
if header!="Time":
data.plot(x='Time',y=header,legend=False)
这跳过了第一列,并允许其余的标题在不同的图中绘制。
如果标题让您感到困惑(首先让我感到困惑),您可以使用更通用的表格
import pandas
data=pandas.read_csv(r'data.csv')
for i in list(data):
if i!="Time":
data.plot(x='Time',y=i,legend=False)
祝大家好运!