scipy.io.arff.
loadarff#
- scipy.io.arff.loadarff(f)[源代码]#
读取 ARFF 文件。
数据以记录数组的形式返回,其访问方式类似于 NumPy 数组的字典。例如,如果其中一个属性名为“pressure”,则其前 10 个数据点可以从
data
记录数组中访问,如下所示:data['pressure'][0:10]
- 参数:
- f文件对象或字符串
要读取的文件对象,或要打开的文件名。
- 返回:
- data记录数组
ARFF 文件的数据,可通过属性名称访问。
- meta
MetaData
包含有关 ARFF 文件的信息,例如属性的名称和类型、关系(数据集的名称)等。
- 引发:
- ParseArffError
如果给定文件不是 ARFF 格式,则会引发此错误。
- NotImplementedError
ARFF 文件包含尚不支持的属性。
备注
此函数应该能够读取大多数 ARFF 文件。未实现的功能包括
日期类型属性
字符串类型属性
它可以读取包含数值和标称属性的文件。它无法读取包含稀疏数据(文件中为 {})的文件。但是,此函数可以读取包含缺失数据(文件中为 ?)的文件,并将数据点表示为 NaN。
示例
>>> from scipy.io import arff >>> from io import StringIO >>> content = """ ... @relation foo ... @attribute width numeric ... @attribute height numeric ... @attribute color {red,green,blue,yellow,black} ... @data ... 5.0,3.25,blue ... 4.5,3.75,green ... 3.0,4.00,red ... """ >>> f = StringIO(content) >>> data, meta = arff.loadarff(f) >>> data array([(5.0, 3.25, 'blue'), (4.5, 3.75, 'green'), (3.0, 4.0, 'red')], dtype=[('width', '<f8'), ('height', '<f8'), ('color', '|S6')]) >>> meta Dataset: foo width's type is numeric height's type is numeric color's type is nominal, range is ('red', 'green', 'blue', 'yellow', 'black')