我正在尝试使用matplotlib从csv文件中的列制作图形。到目前为止,我有:
X = []
Y = []
for line in file:
column=line.split(',')
year=str(column[3])
for year in X:
X.append(year)
for line in file:
column=line.split(',')
emissions=str(column[4])
for emissions in Y:
Y.append(emissions)
plt.plot(X,Y)
但是它正在打印一个空白的图。
只需使用Pandas!
import pandas as pd
import matplotlib.pyplot as plt
# Read CSV
df = pd.read_csv('yourcsv.csv')
X = df.iloc[:, 0] # First column
Y = df.iloc[:, 1] # Second column
print('First column: ', list(X), 'Second column: ', list(Y))
plt.plot(X, Y)
请记住,一个文件只能读取一次。在第一个循环之后,就到了文件的末尾。当你想要整数的时候为什么要转换成字符串呢?你只需要:
X = []
Y = []
for line in file:
column=line.split(',')
X.append(int(column[3]))
Y.append(int(column[4]))
plt.plot(X,Y)