Python Numpy子集划分与赋值
假设您想为一行评级高于7的美味物品子集一个NumPy数组Python Numpy子集划分与赋值,python,arrays,numpy,Python,Arrays,Numpy,假设您想为一行评级高于7的美味物品子集一个NumPy数组冰箱项目 most_tasty_items = fridge_items[:,10] > 7) 返回一个布尔值数组 如果你当时这样做了: fridge_items[most_tasty_items,:][:3,:] 当你索引到冰箱物品时,这里到底发生了什么。 我熟悉数组[1,2],它返回给定行和列的内容 由于大多数美味的项目都是一个1D布尔值数组,我们如何使用[:3,:]?如果它只是一个一维数组,我们可以说[:]。不太明白这一点,
冰箱项目
most_tasty_items = fridge_items[:,10] > 7)
返回一个布尔值数组
如果你当时这样做了:
fridge_items[most_tasty_items,:][:3,:]
当你索引到冰箱物品时,这里到底发生了什么。
我熟悉数组[1,2],它返回给定行和列的内容
由于
大多数美味的项目都是一个1D布尔值数组,我们如何使用[:3,:]
?如果它只是一个一维数组,我们可以说[:]。不太明白这一点,为什么我们将:
作为[最美味的项目]:]的第二个参数,
第一个括号从数据中选择一个新数组,第二个括号寻址新数组
In [71]: np.random.seed(2020)
...: fridge = np.random.randint(11, size=(30, 5))
...: tasty = fridge_items[:,4] > 7
...: tastyfridge = fridge[tasty,:]
In [72]: tastyfridge[:2,:], fridge[tasty][:2,:]
Out[72]:
(array([[ 8, 10, 9, 3, 7],
[ 4, 7, 1, 4, 9]]),
array([[ 8, 10, 9, 3, 7],
[ 4, 7, 1, 4, 9]]))
In [73]: