使用Python 3将csv的列作为列表打印出来,然后使用Matplotlib制作图形



我正在尝试使用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)

相关内容

最新更新