簡體   English   中英

如何在 python 中 CSV 文件的 plot 單柱圖?

[英]how to plot a single column graph of a CSV file in python?

我正在嘗試 plot 一個圖表,其中包含我從這個網站獲得的火車數據。 火車數據由多列多行數據組成,但我想逐列 plot 圖表。

我設法找出一個僅打印出一列的工作代碼,但是我不知道如何為該特定列繪制 plot 圖。 對於我下面的代碼,最后兩行是我嘗試 plot 單柱圖但它不起作用。 誰能幫助我如何成功地 plot 該列的圖表?

https://archive.ics.uci.edu/ml/datasets/Parkinson+Speech+Dataset+with++Multiple+Types+of+Sound+Recordings

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM