我无法对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
。我想我希望它会返回某种简单的对象,该对象在计算后会从文件中返回数据。
答案 0 :(得分:1)
在这种情况下,您应该使用loc
。
由于该功能已经存在,您可能有兴趣提出或实际上实现dask系列的getitem。