Python - 如何将时间序列存储到数据集中
Python - how to store time series into dataset
我构建了一个解析器,可将 MIDI 歌曲转换为音符序列 - 和弦元组。对于每首歌曲,它是 returns 元组列表,其中第一项是音符,第二项是音符集。因此结果数据的形状为 [(note, {chords})]
,例如[(20, {21, 23}), (30, {22, 24, 26, 28})]
。请注意,和弦可以是任意长的。
我想从多首歌曲构建一个数据集,然后将它们传递给循环神经网络。 所以我的问题是:将这些数据保存到文件中的最简单方法是什么?
我尝试了 h5py 图书馆。不幸的是,它只适用于矩阵。虽然可以像这样保存每一对,但它可能效率很低,因为弦的长度是无限的。
腌制它。
#Write
import pickle
x = [(20, {21, 23}), (30, {22, 24, 26, 28})]
with open('pickle.txt','wb') as f:
pickle.dump(x,f)
#Read
with open('pickle.txt','rb') as f:
y = pickle.load(f)
我构建了一个解析器,可将 MIDI 歌曲转换为音符序列 - 和弦元组。对于每首歌曲,它是 returns 元组列表,其中第一项是音符,第二项是音符集。因此结果数据的形状为 [(note, {chords})]
,例如[(20, {21, 23}), (30, {22, 24, 26, 28})]
。请注意,和弦可以是任意长的。
我想从多首歌曲构建一个数据集,然后将它们传递给循环神经网络。 所以我的问题是:将这些数据保存到文件中的最简单方法是什么?
我尝试了 h5py 图书馆。不幸的是,它只适用于矩阵。虽然可以像这样保存每一对,但它可能效率很低,因为弦的长度是无限的。
腌制它。
#Write
import pickle
x = [(20, {21, 23}), (30, {22, 24, 26, 28})]
with open('pickle.txt','wb') as f:
pickle.dump(x,f)
#Read
with open('pickle.txt','rb') as f:
y = pickle.load(f)