我正在嘗試撰寫一個代碼,將每個奇數和 0 值變數init_val中的偶數替換為負值。我怎么能撰寫這樣的代碼?sequence_numbersinit_val
代碼:
import numpy as np
import pandas as pd
sequence_numbers= np.array([1,0,4,7,9,12,15,16,22,2,4,8,11,13,11,21,23,3])
#The choice could be 'even', 'odd' or '0'
choice = 'even'
init_val = 100
預期輸出:
[-100, -100, 100, -100, -100, 100, -100,100, 100,
100, 100, 100, -100, -100, -100, -100, -100, -100 ]
uj5u.com熱心網友回復:
使用numpy.where和 模運算子來確定奇/偶狀態。
“偶數”的示例:
out = np.where(sequence_numbers%2, -init_val, init_val)
輸出:
array([-100, 100, 100, -100, -100, 100, -100, 100, 100, 100, 100,
100, -100, -100, -100, -100, -100, -100])
對于“奇數”,只需反轉真/假值:
out = np.where(sequence_numbers%2, init_val, -init_val)
或反轉init_val:
if choice == 'odd':
init_val *= -1
out = np.where(sequence_numbers%2, -init_val, init_val)
uj5u.com熱心網友回復:
您可以使用:
out = (sequence_numbers % 2 * -2 1) * init_val
print(out)
# Output
array([-100, 100, 100, -100, -100, 100, -100, 100, 100, 100, 100,
100, -100, -100, -100, -100, -100, -100])
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/412352.html
標籤:
