我有一个包含正负值的numpy数组。a=array([1,1,-1,-2,-3,4,5])我想创建另一个数组,该数组在每个发生符号更改的索引处包含一个值(例如,如果当前元素为正,前一个元素为负,反之亦然)。对于上面的数组,我希望得到以下结果array([0,0,1,0,0,1,0])或者,数组中发生符号更改的位置列表或bool值列表而不是0和1都可以。 最佳答案 类似a=array([1,1,-1,-2,-3,4,5])asign=np.sign(a)signchange=((np.roll(asign,1)-asign)!=0).
我有一个包含正负值的numpy数组。a=array([1,1,-1,-2,-3,4,5])我想创建另一个数组,该数组在每个发生符号更改的索引处包含一个值(例如,如果当前元素为正,前一个元素为负,反之亦然)。对于上面的数组,我希望得到以下结果array([0,0,1,0,0,1,0])或者,数组中发生符号更改的位置列表或bool值列表而不是0和1都可以。 最佳答案 类似a=array([1,1,-1,-2,-3,4,5])asign=np.sign(a)signchange=((np.roll(asign,1)-asign)!=0).