我试图通过随机选择每个元素来合并两个numpy数组。
假设我有两个长度相等的x
和y
数组,如下所示:
x = np.arange(10)
y = np.arange(10, 20)
和面具r
:
r = np.random.choice([True, False], 10)
那么有没有办法从x
r
True
y
和r
False
x
y
中选择元素? / p>
我不必使用掩码方法,但我需要一些快速的东西,因为//MY SERVICE:
if(userEnabledProcessOne) //Shared preference value that I'm getting from the settings of my app based on a checkbox
processOneThread.start();
if(userEnabledProcessTwo)
processTwoThread.start();
和//In the settings activity of my app
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked )
{
// Change shared preferences to make the process enabled
stopService(myService.class)
startService(myService.class)
} if (!isChecked)
// Change shared preferences to make the process enabled
stopService(myService.class)
startService(myService.class)
}
在实际中会比10长得多,所以理想情况下不会涉及循环。
答案 0 :(得分:3)
这个怎么样?
z = y.copy()
z[r] = x[r]
答案 1 :(得分:0)
这是使用np.where
的np.where(<condition>, <where_true>, <where_false>)
语法的单行内容:
z = np.where(r, x, y)