【发布时间】:2020-09-06 23:12:30
【问题描述】:
我有一个制表符分隔值文本文件中的数据,如下所示:
FileName Onsets Offsets
FileName1 [9, 270, 763] [188, 727, 1252]
FileName2 [52, 634, 1166, 1775, 2104] [472, 1034, 1575, 1970, 2457]
FileName3 [180, 560, 1332, 1532] [356, 1286, 1488, 2018]
这些是来自音频文件的数据。每行包含我正在研究的每种声音的一系列开始和偏移时间。
第一行数据中,9是第一声的开始时间,188是第一声的偏移时间。这意味着它持续了 179 毫秒。
我需要每个声音的持续时间,以及每个声音之间的静音间隔。
目前我读取的数据如下:
import pandas as pd
import numpy as np
data = pd.read_csv('/path/file.txt', delimiter='\t')
FileName = data[["FileName"]].to_numpy()
Onsets = data[["Onsets"]].to_numpy()
Offsets = data[["Offsets"]].to_numpy()
这给了我三个 numpy 数组。对于起始和偏移,每一行实际上是原始数据文件中的数字数组。
我可以使用什么代码来提取这些数字,以便我可以从偏移时间中减去开始时间以确定持续时间?
【问题讨论】:
-
文件中有引号吗?
Onsets和Offsets数组呢?形状,dtype?我怀疑你已经将那些看起来像列表的东西加载为字符串。是这样吗?
标签: python arrays pandas numpy text