【问题标题】:len of empty dask dataframe raises exception空 dask 数据帧的 len 引发异常
【发布时间】:2020-10-07 22:00:36
【问题描述】:

我需要知道 dask 数据帧的长度,但如果我正在读取一个空文件 - 代码会产生异常:

import dask.dataframe as dd


if __name__ == '__main__':
    ddf = dd.read_csv(r'empty_file.csv', names=['x'])
    print(len(ddf))

结果我得到了错误:

TypeError: 'numpy.float64' object cannot be interpreted as an integer

但是,如果文件不为空,上面的代码可以正常工作。

有没有更好的方法来获取 dask 数据帧的长度来处理文件为空的情况?

更新:

堆栈跟踪

【问题讨论】:

  • 您确定是len 产生了异常,而不是read_csv
  • 在问题中将完整的回溯显示为格式正确的文本。
  • Stacktrace 显示它是打印行

标签: python pandas dask


【解决方案1】:

您可以使用 .empty 来验证您的数据框是否为空。像这样:

import dask.dataframe as dd


if __name__ == '__main__':
    ddf = dd.read_csv(r'empty_file.csv', names=['x'])
    if not ddf.empty:
        print(len(ddf))
    else:
        print("Empty dataframe")

【讨论】:

  • @Vladislav Varslavans 如果此回复解决了您的问题,请将此答案标记为正确。谢谢!
猜你喜欢
  • 2017-06-13
  • 1970-01-01
  • 2018-09-04
  • 2021-09-07
  • 2016-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多