随机选择两个numpy数组中的元素

时间:2016-02-06 00:25:17

标签: python arrays numpy

我试图通过随机选择每个元素来合并两个numpy数组。 假设我有两个长度相等的xy数组,如下所示:

x = np.arange(10)
y = np.arange(10, 20)

和面具r

r = np.random.choice([True, False], 10)

那么有没有办法从x r True yr 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长得多,所以理想情况下不会涉及循环。

2 个答案:

答案 0 :(得分:3)

这个怎么样?

z = y.copy()
z[r] = x[r]

答案 1 :(得分:0)

这是使用np.wherenp.where(<condition>, <where_true>, <where_false>)语法的单行内容:

z = np.where(r, x, y)