dask csv 阅读顺序

dask csv reading order

我有一个时间序列,其值存储在不同的 csv 中。 每个 csv 都经过排序,并包含一个变量 seconds,即时间扫描。

    df = dd.read_csv('/home/data/derived/ips_subnets.7days/*')
df.head()

          seconds                IP        subnet
    0  1477252800  Private-10.0.0.0   10.101.15.6
    1  1477252800  Private-10.0.0.0  10.102.223.2
    2  1477252800  Private-10.0.0.0  10.104.15.43
    3  1477252800  Private-10.0.0.0  10.104.5.241
    4  1477252800  Private-10.0.0.0  10.106.15.26  

现在如何设置csv文件根据变量顺序读取seconds

默认情况下 dask.dataframe.read_csv 按字母顺序读取文件,因此如果您的文件名遵循标准命名方案,例如 2016-05-06.csv 那么您应该没问题。

如果需要,您可以使用 dask.delayed. Here is a similar example notebook 进行自定义。

最后,您可以随时调用 df = df.set_index('seconds'),但这比其他方法慢得多,并且需要对数据进行全面扫描。