我正在将pandas
转换为dask
,到目前为止,主要问题是排序。
用于使用nlargest
进行简单排序的Im进行复杂排序的转换,例如:
df = df.sort_values(
by=['column_1', 'column_2', 'column_3', 'column_4', 'column_5', 'column_6', 'column_7'],
ascending=[1, 0, 0, 0, 0, 0, 0]
)
我先转换为熊猫,然后又转换为黄昏:dd.from_pandas
为此:
ar = ar.sort_values(by=['column_1', 'column_2'], ascending=[1, 0])
我不知道该怎么办
我假设要转换为熊猫,然后再转换为熊猫,这会使事情变慢(不知道它有多可怕)
nlargest
可以处理吗?我看不到如何使一列降序,而另一列升序。
答案 0 :(得分:0)
尝试扩大对话范围:也许不是取代sort_values
,而是以一种dask
友好的方式重写整个内容:
之后:
ar = ar.sort_values(by=['column_1', 'column_2'], ascending=[1, 0])
来了:
ar = ar.groupby(['column_1']).first()
这两行可以用一个dask
友好的行来写:
ar = ar.groupby(['column_1']).agg({'column_2': 'max'})
我不认为这是问题的答案,仍然在寻找处理sort_values
的方法,也许有多种方法。