使用numpy

时间:2017-08-21 09:38:19

标签: python excel csv numpy graph

我是python的新手,所以我可能错过了一些明显的东西

但我想从excel导入数据并绘制图形。在excel中有一列,每行都有一个用逗号分隔的数字列表。我想从每个数组中提取第二个和第三个数字以用作x和y。

我已将excel文件转换为csv文件。

fname = str("Raw1.csv") # store in data directory
data = np.loadtxt('../data/' + fname,
                delimiter=',',
                skiprows=6,
                usecols=(1,2,6,7,8,3,4,5)) 

x1 = data[:,[1]]
print x1
y1 = data[:,[2]]
print y1

但是当我检查我是否已经提取了正确的数据时,x1显示第三个数字,y1默认为零。

我不确定为什么会这样?

以下是来自csv文件的一些示例数据

"0, 57217.09, 51514.46, 58537.72, 44444.79, 0.00, 0.00, 0.00, 0.00, 0.016, 
0.472, 0.170, 14:22:39.438"
"1, 56912.86, 51240.30, 58259.08, 44179.38, 0.00, 0.00, 0.00, 0.00, 0.000, 
0.000, 0.000, 14:22:39.919"
"2, 58354.95, 52950.70, 59965.86, 45914.75, 0.00, 0.00, 0.00, 0.00, 0.000, 
0.000, 0.000, 14:22:39.920"

2 个答案:

答案 0 :(得分:0)

使用np.shape()查找数据的维度,然后您可以清楚地看到您所犯的实际错误,并根据您的需要从列表中提取数据。

答案 1 :(得分:0)

来自numpy docs

usecols 要读取哪些列,其中0为第一列。例如,usecols =(1,4,5)将提取第2列,第5列和第6列。默认值为None,导致读取所有列。

因此,在您的数据中,您有第2,第3,第7等列,data[:,[1]]实际上是第三个数字,data[:,[2]]是第7个数字(是0吗?)