我需要使用python读取此页面上可用的数据集。
它们非常精确地定义了每一列的数据类型。如何使用loadtxt(这是一个numpy函数)来读取此数据集。我尝试在dtype选项中提供数据类型,但没有用。
您链接的站点中的表彼此之间非常不同,并且在不同的列中具有不同的类型。
您需要record type为每个表定义一个。 记录类型使您可以在同一数组上声明字符串,整数和浮点数。它的定义和使用如本例所示:
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参数以消除表标题