繁体   English   中英

Python中的多个列表零扩展成一个多维数组

[英]Extend a number of list zero into a multi-dimension array in Python

我是 Python 的新手,我正在尝试用一个数字扩展一个包含零列表的现有列表。 下面是我的代码,但我相信还有另一种方法可以使其更简单并提高性能。

missing_len_last_slice = step - len(result_list[-1])
list = []
list_append_zero = np.pad(list, (0, len(list_channels)), 'constant')
for y in range(missing_len_last_slice):
    list.append(list_append_zero)
merge_list_result = np.vstack((result_list[-1], list))
result_list[-1] = merge_list_result

当前的:

长度:5.200

array([[-0.4785, -1.578 ],
       [-0.484 , -1.5815],
       [-0.483 , -1.584 ],
       ...,
       [-0.13  , -0.9475],
       [-0.117 , -0.9315],
       [-0.1175, -0.9395]])

期望

长度:10.000,扩展为 4.800 [0, 0]

array([[-0.4785, -1.578 ],
       [-0.484 , -1.5815],
       [-0.483 , -1.584 ],
       ...,
       [-0.13  , -0.9475],
       [-0.117 , -0.9315],
       [-0.1175, -0.9395],
       [0, 0],
       [0, 0],
       ...
       [0, 0]])

PS:数组的数字维度是动态的。 在示例中,它是 2 作为[-0.4785, -1.578 ]

正如我之前的回答,您可以这样做:

a = np.array([[-0.4785, -1.578 ],
              [-0.484 , -1.5815],
              [-0.483 , -1.584 ]])

pad_fill = np.array([0.0, 0.0])
padding_number = 2              # 10000 - a.shape[0]

A_pad = np.pad(a, ((0, padding_number), (0, 0)), constant_values=pad_fill)
# [[-0.4785 -1.578 ]
#  [-0.484  -1.5815]
#  [-0.483  -1.584 ]
#  [ 0.      0.    ]
#  [ 0.      0.    ]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM