gpt4 book ai didi

python - Arff 装载机 : AttributeError: 'dict' object has no attribute 'data'

转载 作者:太空狗 更新时间:2023-10-29 17:16:08 25 4
gpt4 key购买 nike

我正在尝试使用 liac-arff 库将 .arff 文件加载到 numpy 数组中。 ( https://github.com/renatopp/liac-arff )

这是我的代码。

import arff, numpy as np
dataset = arff.load(open('mydataset.arff', 'rb'))
data = np.array(dataset.data)

执行时出现错误。

ArffLoader.py", line 8, in <module>
data = np.array(dataset.data)
AttributeError: 'dict' object has no attribute 'data'

我见过类似的帖子,Smartsheet Data Tracker: AttributeError: 'dict' object has no attribute 'append' .我是 Python 新手,无法解决此问题。我该如何解决这个问题?

最佳答案

精简版

dataset 是一个dict。对于 dict,您可以使用 python 索引符号 dataset[key] 访问值,其中 key 可以是字符串、整数、 float 、元组或任何其他不可变数据类型(它比这复杂一点,如果您有兴趣,请参见下文)。

在您的情况下, key 采用字符串形式。要访问它,您需要提供所需的字符串作为索引,如下所示:

import arff
import numpy as np
dataset = arff.load(open('mydataset.arff', 'rb'))
data = np.array(dataset['data'])

(你也不应该将导入放在同一行,尽管这只是一个可读性问题)

更详细的解释

dataset 是一个 dict,在某些语言中称为 maphashtable。在 dict 中,您访问值的方式与在列表或数组中建立索引的方式类似,除了“索引”可以是任何“可散列”的数据类型(理想情况下,每个可能值的唯一标识符)。这个“索引”被称为“键”。在实践中,至少对于内置类型和大多数主要包,只有不可变数据类型或可散列数据类型,但没有实际规则要求这种情况。

你来自 MATLAB 吗?如果是这样,那么您可能正在尝试使用 MATLAB 的 struct 访问技术。您可以将 dict 视为更快、更灵活的 struct,但访问值的语法是不同的。

关于python - Arff 装载机 : AttributeError: 'dict' object has no attribute 'data' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28966434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com