【问题标题】:Formatting numpy array until it gets to needed length Python格式化numpy数组直到它达到所需的长度Python
【发布时间】:2021-11-10 04:28:00
【问题描述】:

我如何编写代码来完成数组a,方法是附加append_val,直到到达数组的length。因此a 的长度为 6,预期长度为 10,因此它将追加append_val,直到达到所需的长度10。我怎么能做一个 numpy 函数来获得预期的输出。

import numpy as np 

length = 10
append_val = 0 
a = np.array([12,34,1,3,12,34])

预期输出:

[12,34,1,3,12,34,0,0,0,0]

【问题讨论】:

标签: python arrays numpy indexing append


【解决方案1】:
import numpy as np 

a = np.array([12,34,1,3,12,34])
a.resize(10)
print(a)

【讨论】:

  • 这是resize 方法实际上有用的罕见情况。
【解决方案2】:

我认为append_val 可以改变,如果这是正确的,例如append_val 可以是onetwo 或...,你可以试试这个:

import numpy as np 

length = 10
append_val = 1
a = np.array([12,34,1,3,12,34])

out = []
for i in range(length):
    try:
        out.append(a[i])
    except IndexError:
        out.append(append_val)

print(out)

输出:

[12, 34, 1, 3, 12, 34, 1, 1, 1, 1]

【讨论】:

    【解决方案3】:

    如果append_val 是常量,你可以使用

    a = np.pad(a, (0, length-len(a)), "constant", constant_values=append_val)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-28
      • 2021-06-09
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-08
      • 1970-01-01
      相关资源
      最近更新 更多