我是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"
答案 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吗?)