csv 表行作为前几行的标签

Posted

技术标签:

【中文标题】csv 表行作为前几行的标签【英文标题】:csv table row as label for previous several rows 【发布时间】:2022-01-22 17:15:44 【问题描述】:

我有一个关于张量流的问题。 我有 csv 数据,如附加的图像,我想映射它: 绿色行 - 是前 5 行的标签。 是否可以在 map 函数 (dataset.map()) 中执行此操作? 以及如何?

【问题讨论】:

【参考方案1】:

试试tf.data.Dataset.window:

import tensorflow as tf
import pandas as pd

d = 'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 
     'B': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 
     'C': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 
     'D': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 
     'E': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 
     'F': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 
     'G': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 
     'H': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

df = pd.DataFrame(data=d)

def redefine_data(windowed_ds):
  data, labels = [], []
  for window in windowed_ds:
    data.append(tf.convert_to_tensor([w for w in window.take(5)]))
    labels.append(next(iter(window.skip(5).take(1))))
  return tf.data.Dataset.from_tensor_slices((data, labels))

ds = tf.data.Dataset.from_tensor_slices((df.values)).window(6, shift=3, stride=1, drop_remainder=True)
ds = redefine_data(ds)
for data, label in ds:
  print(data, label)
tf.Tensor(
[[1 1 1 1 1 1 1 1]
 [2 2 2 2 2 2 2 2]
 [3 3 3 3 3 3 3 3]
 [4 4 4 4 4 4 4 4]
 [5 5 5 5 5 5 5 5]], shape=(5, 8), dtype=int64) tf.Tensor([6 6 6 6 6 6 6 6], shape=(8,), dtype=int64)
tf.Tensor(
[[4 4 4 4 4 4 4 4]
 [5 5 5 5 5 5 5 5]
 [6 6 6 6 6 6 6 6]
 [7 7 7 7 7 7 7 7]
 [8 8 8 8 8 8 8 8]], shape=(5, 8), dtype=int64) tf.Tensor([9 9 9 9 9 9 9 9], shape=(8,), dtype=int64)
tf.Tensor(
[[ 7  7  7  7  7  7  7  7]
 [ 8  8  8  8  8  8  8  8]
 [ 9  9  9  9  9  9  9  9]
 [10 10 10 10 10 10 10 10]
 [11 11 11 11 11 11 11 11]], shape=(5, 8), dtype=int64) tf.Tensor([12 12 12 12 12 12 12 12], shape=(8,), dtype=int64)

【讨论】:

太棒了!谢谢你!

以上是关于csv 表行作为前几行的标签的主要内容,如果未能解决你的问题,请参考以下文章

表行 onclick - 更改页面,或打开新标签

pandas读取csv文件的前几行数据(nrows参数)pandas读取csv文件的中间几行数据(skiprows=range(a,b))

如何在Objective C的表视图中仅显示具有内容的表行

Excel VBA获取选定数据透视表行的项目详细信息

python读取csv文件跳过前几行

Windows 主机上的 GitHub Actions(powershell?):前几行的退出代码被忽略