为什么dask系列没有实现__getitem__?

时间:2019-04-10 02:06:59

标签: python python-3.x 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'test{i}.hdf5','data',format='table')

dseries = ddf.read_hdf('test*.hdf5','data')

print(dseries['x'])

这引发一个NotImplementedError。我想我希望它会返回某种简单的对象,该对象在计算后会从文件中返回数据。

1 个答案:

答案 0 :(得分:1)

在这种情况下,您应该使用loc。 由于该功能已经存在,您可能有兴趣提出或实际上实现dask系列的getitem。