使用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()
然而,迭代似乎是不必要的。您只需从dataframe中获取列并直接打印它们:
^{pr2}$
或直接调用dataframe上的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()