我有一個長度為 y (y = 7267) 的值數(shù)組。我正在根據(jù) x (x = 24) 拆分數(shù)據(jù),如下所示。我在這里遺漏了一些值,因為 7267/24 給出了 302,而不是 302.8。這是因為我采用整數(shù)值。如果我在第 3 行設(shè)置int為float,則會出現(xiàn)錯誤TypeError: 'float' object cannot be interpreted as an integer。如何在不丟失 y 中的任何值的情況下運行以下代碼?或者也許有更好的方法來像這里一樣拆分數(shù)據(jù)?import numpy as npy = np.random.rand(7267)samples = len(y)x = 24trim = samples % xsubsequences = int(samples/x)sequence_trimmed = y[:samples - trim]sequence_trimmed.shape = (subsequences, time_steps, 1)
4 回答

ITMISS
TA貢獻1871條經(jīng)驗 獲得超8個贊
使用
subsequences = samples // x
//
是整數(shù)除法,所以它會返回一個整數(shù) exp。
var // x + var % x = var / x

眼眸繁星
TA貢獻1873條經(jīng)驗 獲得超9個贊
模運算 ( %) 僅針對整數(shù)定義,這就是為什么不能將其更改為浮點數(shù)的原因。數(shù)組也只采用 (integer,integer) 形狀。如果我對你的理解是正確的,并且你想要一個專(x, z)為一些人設(shè)計的數(shù)組z并且肯定會占用你的所有數(shù)據(jù),那么引入一些零怎么樣?所以
z=samples//x+1
array=np.zeros(x*z)
array[:samples]=y
np.reshape(array,(x,z))
可能會成功嗎?

犯罪嫌疑人X
TA貢獻2080條經(jīng)驗 獲得超4個贊
這?
import numpy as np
y = np.random.rand(7267)
samples = len(y)
x = 24
trim = samples % x
subsequences = samples//x
sequence_trimmed = y[:samples - trim]
sequence_trimmed.shape = (subsequences, x)

月關(guān)寶盒
TA貢獻1772條經(jīng)驗 獲得超5個贊
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] ...:
添加回答
舉報
0/150
提交
取消