lambda filename:tf.data.TextLineDataset(filename).skip(1),
来源:4-4 tf.io.decode_csv使用
慕标2137209
2020-06-10
老师您好,请问:在6分30秒处,
lambda filename:tf.data.TextLineDataset(filename),
的情况下,显示出五行 header,和10行数据,
但是为什么 lambda filename:tf.data.TextLineDataset(filename).skip(1),
只需要 skip(1),而不是 skip(5),就把前五行 header 都省略了?
谢谢您!
写回答
2回答
-
同学你好,因为n_readers=5, 所以是5个文件的分别的第一行,而不是前5行。这里面是一个并行化的操作。
012021-03-03 -
weixin_宝慕林8180759
2021-02-13
先理解好cycle_length和block_length的含义,我的理解是:cycle_length是一次读入多少个文件,block_length是每个文件读取几行,
视频中定义cycle_length为5,所以一次读入5个文件
block_length没有定义,默认是1,所以每个文件读取1行
而由于每个文件开头都是列名,所以一开始输出的5个列名
我觉得还可以试试别的cycle_length和block_length验证一下
比如:
cycyle_length = 6 block_length = 1
输出为:六个列名 后面是数据
cycyle_length = 5 block_length = 2
输出为:先列名,再一行数据,这个循环5次,然后后面就全都是数据了
00
相似问题