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 ]
.
作为 my previous answer 你可以这样做:
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. ]]
我是 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 ]
.
作为 my previous answer 你可以这样做:
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. ]]