我正在尝试加载一个csv文件,它仅仅由float类型组成。在
data = np.genfromtxt(self.file,dtype=float,delimiter=self.delimiter,names = True)
但这将返回一个元组数组。根据我的搜索,这应该只返回非同质数组的元组。numpy.genfromtxt produces array of what looks like tuples, not a 2D array—why?。
当我删除names=True
时,它确实返回一个2d数组。是否可以返回一个名为链接中的数组?在
来自csv的行:
^{pr2}$(还有更多的专栏,我只写了前六篇。)
我还使用以下代码来更好地命名列:
def obtain_data(self):
with open(self.file, 'r') as infile:
first_line = infile.readline()
labels = first_line.split('|')
labels = list(map(trunc_before,labels))
data = np.genfromtxt(self.file,dtype=float,delimiter=self.delimiter,names = labels,skip_header=1)
return data, np.asarray(labels)
听起来你在问是否有可能在拥有命名列的同时拥有一个标准的2d数组。事实并非如此(至少在你所要求的意义上是如此)
一个“array with names”是一个结构化数组它是一个由记录组成的数组(不是真正的元组),每个记录都有命名字段。可以这样想:名称不附加到数组,而是附加到记录的“元组”上。数据是同质类型这一事实并不重要。在
相关问题 更多 >
编程相关推荐