[英]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()
我认为您的问题是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()
您的数据中有四列( A
、 B
、 C
和D
),但您只提供了三个列名( B
、 C
和D
)。 因此,它将名称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.