numpy.genfromtxt似乎忽略了dtyp

2024-06-02 07:05:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试加载一个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)

Tags: csvselftruedatalabelsnamesnp数组
1条回答
网友
1楼 · 发布于 2024-06-02 07:05:02

听起来你在问是否有可能在拥有命名列的同时拥有一个标准的2d数组。事实并非如此(至少在你所要求的意义上是如此)

一个“array with names”是一个结构化数组它是一个由记录组成的数组(不是真正的元组),每个记录都有命名字段。可以这样想:名称不附加到数组,而是附加到记录的“元组”上。数据是同质类型这一事实并不重要。在

相关问题 更多 >