【发布时间】:2021-02-12 08:48:30
【问题描述】:
我正在尝试拥有一个 3d 数据集,每个数据点都在一个由行组成的单独 csv 文件中,我的特征在列中 我尝试了几种将文件列表添加到数据集的方法
files = os.listdir("path")
dataset = tf.data.Dataset.from_tensor_slices(files)
或
dataset = tf.data.Dataset.list_files("path/*.csv")
两者似乎都有效,但是打开文件我不能依赖Dataset.TextLineDataset,因为它会将我的所有数据变成一个大的二维数据集
我尝试过使用
dataset = dataset.map(parse_file)
和
def parse_file(filename):
data = np.genfromtxt(str(filename), delimiter=',')
return data
将其作为数组获取,但出现错误
OSError: Tensor("args_0:0", shape=(), dtype=string) not found.
我做错了什么?
编辑:数据看起来像这样,它是几个文件都是这种形式(没有标题):
1498561981000,51.89105,12.41285,0
1498562341000,51.891052,12.412848,0
1498562566000,51.891045,12.412857,0
...
最后我想要一个 3d 表示,其中第一个维度是文件,第二个是行,第三个是列 喜欢
[
[[1498561981000,51.89105,12.41285,0],[1498562341000,51.891052,12.412848,0],[1498562566000,51.891045,12.412857,0]],
[[1498561981000,51.89105,12.41285,0],[1498562341000,51.891052,12.412848,0],[1498562566000,51.891045,12.412857,0]]
...
]
【问题讨论】:
-
您可以添加数据样本吗?即你的 csvs(或模拟数据)的第一行,以及你想要达到的结果?
-
我刚刚用数据示例进行了编辑(顺便说一下,分隔符是错误的,但这似乎不是问题),数据非常简单
标签: python tensorflow tensorflow-datasets