如何拆分数组中的奇数样本?

我有一个长度为 y (y = 7267) 的值数组。我正在根据 x (x = 24) 拆分数据,如下所示。我在这里遗漏了一些值,因为 7267/24 给出了 302,而不是 302.8。这是因为我采用整数值。如果我在第 3 行设置intfloat,则会出现错误TypeError: 'float' object cannot be interpreted as an integer。如何在不丢失 y 中的任何值的情况下运行以下代码?或者也许有更好的方法来像这里一样拆分数据?

import numpy as np


y = np.random.rand(7267)

samples = len(y)

x = 24


trim = samples % x

subsequences = int(samples/x)

sequence_trimmed = y[:samples - trim]

sequence_trimmed.shape = (subsequences, time_steps, 1)


摇曳的蔷薇
浏览 102回答 4
4回答

ITMISS

使用subsequences = samples // x//是整数除法,所以它会返回一个整数 exp。var // x + var % x = var / x

眼眸繁星

模运算 ( %) 仅针对整数定义,这就是为什么不能将其更改为浮点数的原因。数组也只采用 (integer,integer) 形状。如果我对你的理解是正确的,并且你想要一个专(x, z)为一些人设计的数组z并且肯定会占用你的所有数据,那么引入一些零怎么样?所以z=samples//x+1array=np.zeros(x*z)array[:samples]=ynp.reshape(array,(x,z))可能会成功吗?

犯罪嫌疑人X

这?import numpy as npy = np.random.rand(7267)samples = len(y)x = 24trim = samples % xsubsequences = samples//xsequence_trimmed = y[:samples - trim]sequence_trimmed.shape = (subsequences, x)

月关宝盒

In [28]: import numpy as np     ...:     ...: y = list(range(7267))     ...: samples = len(y)     ...: x = 24     ...:     ...: trim = round(samples / x)     ...: subsequences = int(samples/x)     ...: sequence_trimmed = y[:samples - trim]     ...:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python