为什么__getitem__没有被dask系列实现?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么__getitem__没有被dask系列实现?相关的知识,希望对你有一定的参考价值。
我无法对dask系列对象做任何有用的事情。在我设法创建一个之后,我无法在低于系列对象本身的级别上使用它。换句话说,我可以计算它并将其加载到内存然后获取我想要的数据(dseries.compute()['x']
),但理想情况下我想要这样的东西:dseries['x'].compute()
,因为对于我的实际应用程序,dseries.compute()可能太大了记忆。
import numpy as np
import pandas as pd
import dask.dataframe as ddf
import random
for i in range(5):
pdseries = pd.Series('x':random.randint(0,10),'y':random.randint(0,10),'z':random.randint(0,10))
pdseries.to_hdf(f'testi.hdf5','data',format='table')
dseries = ddf.read_hdf('test*.hdf5','data')
print(dseries['x'])
这引起了NotImplementedError
。我想我会期望它返回某种dask对象,在计算时,它返回文件中的数据。
答案
在这种情况下你应该使用loc
。您可能有兴趣为dask系列提出或实际实现getitem,因为该功能已经存在。
以上是关于为什么__getitem__没有被dask系列实现?的主要内容,如果未能解决你的问题,请参考以下文章
python getattribute、get、getattr、getitem等用法
TypeError:“NoneType”对象没有属性“__getitem__”