gpt4 book ai didi

python - 如何使 numpy 数组的列表都具有相同的形状?

转载 作者:太空狗 更新时间:2023-10-30 02:32:40 31 4
gpt4 key购买 nike

所以我在列表中有一堆二维 Numpy 数组,我想确保它们都具有相同的形状。我知道每个数组的第二个维度相同,但第一个维度不同。

假设数组 X 的形状是 (n,m),数组 Y 的形状是 (n+2,m)。我想向数组 X 添加两行零,以便 X 和 Y 都是 (n+2,m)。

遍历列表并确保所有数组具有相同形状的最符合 Python 风格的方法是什么?假设我知道列表中所有数组的第一个维度的最大值是多少 - 称之为 N - 而且,正如我提到的,我知道所有数组的第二个维度都是 m。

谢谢大家!

最佳答案

在一行中:

[np.r_[a, np.zeros((N - a.shape[0], m), dtype=a.dtype)] for a in your_arrays]

可能更具可读性

for i,a in enumerate(your_arrays):
rows, cols = a.shape
if rows != N:
your_arrays[i] = np.vstack([a, np.zeros((N - rows, cols), dtype=a.dtype)])

关于python - 如何使 numpy 数组的列表都具有相同的形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16827060/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com