我无法使用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]
我的系统的详细信息: