genfromtxt名称更改数组

时间:2016-02-10 22:21:06

标签: python numpy

我正在从CSV文件导入大量数据。原始的CSV文件有大约40列,我正在修改它,并希望使用我自己的名称(如下所示)作为列名。

import numpy as np
import math
import sys
import matplotlib.pyplot as plt

print(sys.argv)
data1 = np.genfromtxt(
sys.argv[1], 
skip_header=10,
skip_footer=1, 
delimiter=',',
usecols=(0,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27),
names=['line','TPS','mph','rpm','load','engtemp','trq','month','day','T1','T2','T3','T4','T5','T6','T7','T8','T9','T10','T11','T12','T13','T14','T15','T16'])

不幸的是,这改变了数组的形状,我不知道如何补偿它,我也不知道如何调出名称。最初我希望它会保存每个列,因为它是自己的列表,并指定了名称。如果你知道这样做的功能,那就很好了!

所以,问题。 当我尝试引用用于绘图的列

时,为什么上述操作不起作用
plt.plot(data1[:,9])

但是当我从genfromtxt中删除names参数时,它可以正常工作吗?

有没有办法做点什么?     plt.plot(DATA1 [T1])

可能是因为'names'参数试图命名行而不是列? 使用名称时,我收到错误

Traceback (most recent call last):
  File "HeatReport.py", line 48, in <module>
    print(data1[3,9])
IndexError: too many indices for array

0 个答案:

没有答案