python - 在python中导入/读取csv文件,然后绘图,给出x=y图?

标签 python python-2.7 csv matplotlib

这可能有一个非常明显的修复。我使用的是 Python 2.7,并且使用的是 Spyder 3.2.4。我试图通过读取 csv 文件然后绘制它来绘制非常简单(尽管很大)的数据位。 csv“df”[6369 行 x 2 列]。我的问题是,由于某种原因,下面的代码只给了我一个 x=y graph 。如果我将 row[0] 中的 0's 更改为 1's,它会显示 ValueError: invalidliteral for int() with base 10:“我”

这是代码:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('SDISKSTATS_timeMassDisk.csv', delimiter=',')

x=[]
y=[]

for row in df:
    x.append(int(row[0]))
    y.append(int(row[0]))

plt.plot(x,y,label='csv')
plt.xlabel('x')
plt.ylabel('y')
plt.title('pls let this work')
plt.legend()
plt.show()

And here is the plot that it produces

感谢您提供的所有帮助。

最佳答案

使用for row in df:您可以迭代数据帧的列,而不是行。要迭代行,您可以使用 for i,row in df.iterrows():

因此,一个工作示例可能如下所示:

import pandas as pd
import matplotlib.pyplot as plt

t = pd.DataFrame({"x":[1,2,3,4],"y":[5,3,4,2]})
t.to_csv('SDISKSTATS_timeMassDisk.csv', sep=',', index=False)

df = pd.read_csv('SDISKSTATS_timeMassDisk.csv', sep=',')

x=[]
y=[]

for i,row in df.iterrows():
    x.append(int(row.values[0]))
    y.append(int(row.values[1]))

plt.plot(x,y,label='csv')
plt.xlabel('x')
plt.ylabel('y')
plt.title('pls let this work')
plt.legend()
plt.show()

然而,迭代似乎没有必要。您可以从数据框中取出列并直接绘制它们:

import pandas as pd
import matplotlib.pyplot as plt

t = pd.DataFrame({"x":[1,2,3,4],"y":[5,3,4,2]})
t.to_csv('SDISKSTATS_timeMassDisk.csv', sep=',', index=False)

df = pd.read_csv('SDISKSTATS_timeMassDisk.csv', sep=',')

plt.plot(df["x"],df["y"],label='csv')
plt.xlabel('x')
plt.ylabel('y')
plt.title('pls let this work')
plt.legend()
plt.show()

或者直接在数据帧上调用plot:

import pandas as pd
import matplotlib.pyplot as plt

t = pd.DataFrame({"x":[1,2,3,4],"y":[5,3,4,2]})
t.to_csv('SDISKSTATS_timeMassDisk.csv', sep=',', index=False)

df = pd.read_csv('SDISKSTATS_timeMassDisk.csv', sep=',')

df.plot(x="x",y="y", label="csv")

plt.ylabel('y')
plt.title('pls let this work')
plt.show()

关于python - 在python中导入/读取csv文件,然后绘图,给出x=y图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47592490/

相关文章:

python - 将多个数组与 numpy 数组相交的最佳方法是什么?

python - python中有对应 "\"的函数吗?

windows - IO错误 : [Errno 22] invalid mode ('r' ) or filename: 'E:\x07nu\meta.csv'

python - 列表索引超出范围,使用 split()

Python:将文本分类

python - 如何在 Ubuntu 中安装 GDAL?

Python Pandas Fillna 中位数不起作用

powershell - 使用 CSV-Export 输出已安装的程序

python - <br> 标签用漂亮的汤和 python 搞砸了我的数据

java - 将 Univocity 解析器与 Spring Batch 结合使用