我只是想按照特定列对dask dataframe进行排序。
CODE 1 - 如果调用它,确实会显示为ddf
my_ddf
OUTPUT 1
npartitions=1
headers .....
代码 2
my_ddf.sort_values('id', ascending=False)
输出 2
AttributeError Traceback (most recent call last)
<ipython-input-374-35ce4bd06557> in <module>
----> 1 my_ddf.sort_values('id', ascending=False) #.head(20)
2 # df.sort_values(columns, ascending=True)
~/anaconda3/envs/rapids/lib/python3.7/site-packages/dask/dataframe/core.py in __getattr__(self, key)
3619 return self[key]
3620 else:
-> 3621 raise AttributeError("'DataFrame' object has no attribute %r" % key)
3622
3623 def __dir__(self):
AttributeError: 'DataFrame' object has no attribute 'sort_values'
已尝试的解决方案
- 这是来自官方Dask文档的示例:
df.sort_values(columns, ascending=False).head(n)
- 仅适用于Pandas-DataFrame对象没有'sort_values'属性
- 仅适用于Pandas-'DataFrame'对象没有'sort'属性
- DASK答案 - https://dev59.com/-VkS5IYBdhLWcg3wFi-k#40378896
- 我不想将其设置为索引,因为我只想拥有当前索引值。
- 以下答案有点奇怪,我不确定当我有更多分区(目前我只有1个,因为数据之前进行了分组)时它是否会起作用,或者如何避免只是一个随机的大数字“1000000000”。或如何使它从上到下逐渐变大在Dask dataframe中
my_ddf.nlargest(1000000000, 'id').compute()
delayed
来完成这个任务。 - SultanOrazbayev