想象一个简单的Dask数据集,它有两列:-交易日期-交易金额
我只想知道如何按交易日期分组并显示每天的交易计数。我希望结果数据帧按事务日期或计数排序。这是我的代码:
df = taxi_data.Date.value_counts().compute()
输出如下所示:
2019-01-25 291288
2019-01-11 290607
2019-01-31 283724
2019-01-17 283409
2019-01-24 280805
2019-01-10 280648
Name: Date, dtype: int64
问题是,我该如何按照第一列对其进行排序?
一种方法是在compute之后调用sort_index。
taxi_data.Date.value_counts().compute().sort_index()
现在(在value_counts之后(结果相对较小,因此不需要以在dask级别对其进行排序。
另一个选项(无论如何都要在dask级别上执行(是:
- 转换为DataFrame(具有单列(
- 重置索引,使索引成为常规列(此新列列默认命名为索引(
- 将索引设置回索引列,此时排序实际上
- (可选(挤压以转换回系列
- 计算结果
所以整个代码可以是:
taxi_data.Date.value_counts().to_frame()
.reset_index().set_index('index').squeeze().compute()