首页 > 解决方案 > 用于将列表/矩阵附加到 R 的 Python 代码

问题描述

我正在运行一个循环神经网络模型 (LSTM),并希望将我的矩阵设为 3 维。我在每个“行”中有 15 个变量,每个“行”对应于一周的数据。我需要用“0”填写前四行,以便我可以从第五行开始分析。

我在 Python 中有以下代码:

matrix = 15variables.as_matrix()
n = len(matrix)
k = 5

x_list = []
for i in range(k-1): 
    x_list.append(np.zeros(15))
for i in range(n):
    x_list.append(matrix[i,:])
x = np.array([x_list[i:i+k] for i in range(n)])

上面的代码使矩阵看起来像这样(通常 [154., 165., 83., ... ] 是第一个条目,否则:

array([[[  0.,   0.,   0., ...,   0.,   0.,   0.],
        [  0.,   0.,   0., ...,   0.,   0.,   0.],
        [  0.,   0.,   0., ...,   0.,   0.,   0.],
        [  0.,   0.,   0., ...,   0.,   0.,   0.],
        [154., 265.,  83., ..., 152.,  58., 170.]],

       [[  0.,   0.,   0., ...,   0.,   0.,   0.],
        [  0.,   0.,   0., ...,   0.,   0.,   0.],
        [  0.,   0.,   0., ...,   0.,   0.,   0.],
        [154., 265.,  83., ..., 152.,  58., 170.],
        [102., 229.,  78., ..., 182.,  74., 204.]],

       [[  0.,   0.,   0., ...,   0.,   0.,   0.],
        [  0.,   0.,   0., ...,   0.,   0.,   0.],
        [154., 265.,  83., ..., 152.,  58., 170.],
        [102., 229.,  78., ..., 182.,  74., 204.],
        [101., 267.,  87., ..., 175.,  82., 182.]],

如何将其转换为 R 代码?我在尝试

k = 5
for (i in 1:k){
        x [[i]]= append.zeros(15)
       }

在 R 中,但我不熟悉它在 R 中的工作原理,并且我得到“附加错误(15):缺少参数“值”,没有默认值”。

非常感谢。

标签: pythonrlistnumpymatrix

解决方案


推荐阅读