首页 > 解决方案 > Numpy Python中数组的条件格式

问题描述

我正在尝试创建一个函数,如果最后一个值为order1,那么代码将附加 1 orders,然后将数字 20 也附加到value数组中。如果最后一个值为 0 ,order那么它将追加 1order并将数字 15 追加到value

import numpy as np

order = np.array([0,1,0,0,0])
order1 = np.array([0,1,0,0,1])
value= np.array([10,55,30,3,10])

预期输出:

#if last element is equal to 1 
order = np.array([0,1,0,0,0,1])
value= np.array([10,55,30,3,10,20])

#if last element is equal to 0 
order1 = np.array([0,1,0,0,1,0])
value= np.array([10,55,30,3,10,15])

标签: pythonarraysfunctionnumpyformat

解决方案


使用if-else

import numpy as np

order = np.array([0,1,0,0,0])
order1 = np.array([0,1,0,0,1])
value= np.array([10,55,30,3,10])

to_be_appended = None

if order[-1] == 0:
    to_be_appended = 1
    value = np.append(value, 15)
elif order[-1] == 1:
    to_be_appended = 0
    value = np.append(value, 20)

order = np.append(order, to_be_appended)

print(order, value)

注意:如果需要附加 id,那么我认为list应该使用,因为np.append每次都会创建一个新数组。


推荐阅读