繁体   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