如何在缺少数据的情况下使用tf.data.experimental.make_csv_dataset?

时间:2019-02-18 05:48:37

标签: python tensorflow python-3.6 tensorflow-datasets

我无法使用tf.data.experimental.make_csv_dataset处理包含丢失数据的CSV。作为一个玩具示例,假设我有一个包含以下内容的CSV文件example.csv

date, value
D1,1017.1
D2, NA

运行以下代码时,出现以下错误:tensorflow.python.framework.errors_impl.InvalidArgumentError: Field 1 in record is not a valid float: NA [Op:IteratorGetNextSync]

import tensorflow as tf

tf.enable_eager_execution()
dataset = tf.data.experimental.make_csv_dataset(
            file_pattern=filenames,
            column_names=['date', 'value'],
            column_defaults=[tf.string, tf.float32],
            header=True,
            field_delim=',',
            na_value='NA'
        )
iterator = dataset.make_one_shot_iterator()
next_element = iterator.get_next()

我滥用该功能吗?我应该如何指定NA应该解释为缺失值?用文字上的空字符串替换NA会导致相同的问题:

tensorflow.python.framework.errors_impl.InvalidArgumentError: Field 1 is required but missing in record! [Op:IteratorGetNextSync]

我的系统的详细信息:

  • TensorFlow版本(使用下面的命令):v1.12.0-0-ga6d8ffae09 1.12.0
  • Python版本:3.6

0 个答案:

没有答案