我试图使用pandas.read_csv绘制两个已读入的列,代码: -
from pandas import read_csv
from matplotlib import pyplot
data = read_csv('Stats.csv', sep=',')
#data = data.astype(float)
data.plot(x = 1, y = 2)
pyplot.show()
csv文件片段: -
1,a4,2000,125,1.9,2.8,25.6
2,a4,7000,125,1.7,2.3,18
3,a2,7000,30,0.84,1.1,8.11
4,a2,5000,30,0.83,1.05,6.87
5,a2,4000,45,2.8,3.48,16.54
当x = 1且y = 2时,它将绘制第二列,而不是第四列,而不是我预期的第三列
当我尝试将第三列与第四列(x = 2,y = 3)进行绘图时,它将第三列与第五列进行对比
我现在试图将第三个对第四个进行绘制,当x和y都为2时,它将绘制第三列与第四列,但值不正确,我错过了什么?是read_csv改变列的顺序吗?
答案 0 :(得分:0)
您的输入csv没有标题,这无助于清晰(请参阅Murali的评论)。但我认为问题源于包含a4,a2的列的性质。
此列可用于x轴,但不能用于y轴(x轴上的非数字数据似乎只是按顺序读取)。因此计数偏移。因此当y“读取”列的1(全部0索引)时 - 但x不会。
导电
data.plot(x=1,y=0)
和
data.plot(x=0,y=1)
并检查轴有助于可视化正在发生的事情。
奇怪这意味着你可以做到
df.plot(x=1,y=1)
得到你想要的东西。