- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 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
,在某些语言中称为 map
或 hashtable
。在 dict
中,您访问值的方式与在列表或数组中建立索引的方式类似,除了“索引”可以是任何“可散列”的数据类型(理想情况下,每个可能值的唯一标识符)。这个“索引”被称为“键”。在实践中,至少对于内置类型和大多数主要包,只有不可变数据类型或可散列数据类型,但没有实际规则要求这种情况。
你来自 MATLAB
吗?如果是这样,那么您可能正在尝试使用 MATLAB 的
struct
访问技术。您可以将 dict
视为更快、更灵活的 struct
,但访问值的语法是不同的。
关于python - Arff 装载机 : AttributeError: 'dict' object has no attribute 'data' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28966434/
我在一项 Activity 中使用了一个装载机。我能够启动加载程序并调用 onLoadFinished。当我更新数据并在加载程序中调用 onContentChanged 时,我看到 loadInBac
我正在尝试使用 liac-arff 库将 .arff 文件加载到 numpy 数组中。 ( https://github.com/renatopp/liac-arff ) 这是我的代码。 import
我最近在 three.js 中尝试了一些使用 Blender 和 Collada Loader 的实验。在我的 Blender 场景中,我有三个对象,但当然我只能使用 three.js 和加载器管理一
我正在通过 将 Parquet 数据加载到数据框中 spark.read.parquet('hdfs:///path/goes/here/...') 由于 parquet 分区,该路径中约有 50k
我是一名优秀的程序员,十分优秀!