小编典典

读取带有字符串的文件并使用loadtxt浮动

python

我需要使用python读取此页面上可用的数据集。

它们非常精确地定义了每一列的数据类型。如何使用loadtxt(这是一个numpy函数)来读取此数据集。我尝试在dtype选项中提供数据类型,但没有用。


阅读 222

收藏
2021-01-20

共1个答案

小编典典

您链接的站点中的表彼此之间非常不同,并且在不同的列中具有不同的类型。

您需要record type为每个表定义一个。
记录类型使您可以在同一数组上声明字符串,整数和浮点数。它的定义和使用如本例所示:

>>> recordtype = dtype([('name', str_, 20), ('age', int32), ('weight', float32)])
>>> people = array([('Joaquin', 51, 60.0), ('Cat', 18, 8.6)], dtype=recordtype)
>>> people
array([('Joaquin', 51, 60.0), ('Cat', 18, 8.600000381469727)], dtype=[('name', '<U20'), ('age', '<i4'), ('weight', '<f4')])

另一方面,您的行中包含诸如此类的内容,这些内容'...'破坏了其上数据的一致性。因此,如果您需要直接从文件中读取,则需要对loadtxt转换器参数使用转换器函数。

另外,由于loadtext也接受生成器作为输入,因此您可以处理生成器中的行,并用干净的行来输入loadtext。

最后,您还应该设置skiprows参数以消除表标题

2021-01-20