Python genfromtxt名称更改数组的形状

Python genfromtxt名称更改数组的形状,python,numpy,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,

我正在从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.绘图(数据1[T1])

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

Traceback (most recent call last):
  File "HeatReport.py", line 48, in <module>
    print(data1[3,9])
IndexError: too many indices for array
回溯(最近一次呼叫最后一次):
文件“HeatReport.py”,第48行,在
打印(数据1[3,9])
索引器:数组的索引太多

使用
名称
将数据加载为1d
结构化
数组。看看它的
dtype
。阅读关于数据类型和结构化的文档。这也是一个常见的SO问题。使用
名称
时,它将数据加载为1d
结构化
数组。看看它的
dtype
。阅读关于数据类型和结构化的文档。这也是一个常见的问题。