簡體   English   中英

繪制/繪制此 csv 文件

[英]Plot/graph this csv file

我對 Python 完全陌生,並決定作為工程師在我們的機器學習課程中學習它,但是我在從我的 csv 文件中檢索值時遇到了困難,如下所示:

在此處輸入圖片說明

我想在哪里檢索我的 B、C 和 D 值(從重力傳感器檢索)。

我在 Jupyter Notebook 中嘗試過的代碼:

import numpy as np    
import matplotlib.pyplot as plt
    
data_file = np.genfromtxt("Gravity.csv", delimiter="", names=["A","B","C","D"])
    
plt.plot(data_file['A'], data_file['B'],data_file['C'],data_file['D'])    
plt.show()

我將您的文件轉換為這種格式

A,B,C,D

0.1, 0.5, 0.1, 0.8

0.2, 0.1, 0.4, 0.1

0.1, 0.3, 0.1, 0.1 

並使用以下代碼

import pandas as pd
values= pd.read_csv('./test.csv')

這有效

在此處輸入圖片說明

我認為您的問題是np.genfromtxt也在對索引列(值從 1 到 9)以及標題進行編碼,因此當您認為您選擇列'B'您實際上是在選擇列A等等。

這應該有效

import numpy as np    
import matplotlib.pyplot as plt
    
data_file = np.genfromtxt("Gravity.csv", delimiter=",", names=["index", "A","B","C","D"], skip_header=1)
    
plt.plot(data_file['B'],data_file['C'],data_file['D'])    
plt.show()

以及相同概念但使用人工數據的工作示例

import pandas as pd
data = pd.DataFrame({'a':[1,2,3], 'b':[2,3,4], 'c':[4,5,6], 'd':[7,8,9]})
data.to_csv('./data.csv')
data2 = np.genfromtxt('./data.csv', delimiter=",", names=["index", "A","B","C","D"], skip_header=1)
plt.plot(data2['B'], data2['C'], data2['D'])
plt.show()

您的數據中有四列( ABCD ),但您只提供了三個列名( BCD )。 因此,它將名稱B鏈接到數據中的A列,依此類推。 數據中的D列會像這樣被忽略,因此您需要指定四個名稱,以便可以按預期查詢每一列。

此外,使用pandas可以很好地處理柱狀數據。

import pandas as pd
    
data_file = pd.read_csv("Gravity.csv", names = ['A', 'B', 'C', 'D'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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