首页 > 解决方案 > AttributeError:“DatasetSeries”对象没有属性“all_data”

问题描述

import glob
from os.path import join
import yt
from yt.config import ytcfg
path = ytcfg.get("yt", "test_data_dir")

from mpl_toolkits.mplot3d import Axes3D
my_fns = glob.glob(join(path, "Orbit", "puredef_hdf5_chk_000000"))
my_fns.sort()
fields = ["particle_velocity_x", "particle_velocity_y", "particle_velocity_z"]
ds = yt.load(my_fns[:])
dd = ds.all_data()
indices = dd["particle_index"].astype("int")
print (indices)

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-27-1bae40a7b7ba> in <module>
      1 ds = yt.load(my_fns[:])
----> 2 dd = ds.all_data()
      3 indices = dd["particle_index"].astype("int")
      4 print (indices)

AttributeError: 'DatasetSeries' object has no attribute 'all_data'

我已经查看了这里的其他帖子,但其中许多都涉及处理镜头或其他陈述的此错误的不同方面。

标签: pythonpython-3.xattributeerroryt

解决方案


我最近遇到了完全相同的错误,代码非常相似。首先,我犯的一个错误是给代码提供了指向真实数据文件的符号链接,而它应该直接处理数据。另一个问题是 yt 库 3.6.1 版的安装问题。我已经使用pip命令安装了它,但它运行不正常,所以我卸载了它并使用了他们在主页上提供的“一体化”脚本。

将这两件事一起解决,就完全解决了这个问题。


推荐阅读