[英]how to plot a single column graph of a CSV file in python?
我正在嘗試 plot 一個圖表,其中包含我從這個網站獲得的火車數據。 火車數據由多列多行數據組成,但我想逐列 plot 圖表。
我設法找出一個僅打印出一列的工作代碼,但是我不知道如何為該特定列繪制 plot 圖。 對於我下面的代碼,最后兩行是我嘗試 plot 單柱圖但它不起作用。 誰能幫助我如何成功地 plot 該列的圖表?
import csv
import matplotlib.pyplot as plt
with open("C://Users/RichardStone/Pycharm/Projects/train_data.csv", "r") as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
for lines in csv_reader:
print(lines[1])
plt.plot(lines[1])
plt.show()
為什么不將數據讀入 pandas dataframe 然后使用 plot 它使用 ZF02113237A5A5FFF0ZEE4643?
像這樣的東西應該工作:
import pandas as pd
import matplotlib.pyplot as plt
file_path = "path\to\file"
df = pd.read_csv(file_path)
for column in df.columns:
print(df[column])
plt.figure()
plt.title(column)
plt.plot(df[column])
plt.show()
如果您使用的是matplotlib
,那么您已經有了numpy
,因此您可以執行以下操作:
import csv
import matplotlib.pyplot as plt
import numpy
with open('C://Users/RichardStone/Pycharm/Projects/train_data.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
# convert strings to numbers, collect everything in a list of lists
data_list = [[float(item) for item in row] for row in reader if row]
# convert to numpy array for convenient indexing
data = numpy.array(data_list)
column_index = 1
plt.plot(data[:, column_index])
# or plt.plot(data) to show all columns
# or plt.scatter(data[:, 0], data[:, 1]) for a scatter plot
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.