我有一个数据框可以说" df"。 现在,数据框的一列被命名为" itemID"。我想根据列#34; itemID"上的值得到一些非常快的行索引。
当我这样做时:
df[df['itemID']==X]
表现很慢。
有没有办法创建类似哈希索引的东西才能执行上述操作?
答案 0 :(得分:1)
我相信你可以使用dask。
Docs说:
以下类别的计算效果很好:
平凡可并行化的操作(快速):
逐行选择:df [df.x> 0]
您还可以查看Create Dask DataFrames的方式。
示例强>
import pandas as pd
import dask.dataframe as dd
df = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'itemID': [1,2,4,4]})
print (df)
A itemID
0 A0 1
1 A1 2
2 A2 4
3 A3 4
#Construct a dask objects from a pandas objects
df_dask = dd.from_pandas(df, npartitions=3)
#Row-wise selections
print (df_dask[df_dask.itemID == 4].compute())
A itemID
2 A2 4
3 A3 4