为了账号安全,请及时绑定邮箱和手机立即绑定

Numpy 子集化和赋值

Numpy 子集化和赋值

小唯快跑啊 2023-04-18 14:36:49
假设您想要将 NumPy 数组子集fridge_items化为评分高于 7 的美味食物行。most_tasty_items = fridge_items[:,10] > 7)你得到一个布尔值数组。如果你当时做了:fridge_items[most_tasty_items,:][:3,:]当您索引到 fridge_items 时,这里到底发生了什么。我熟悉做 array[1,2] 并返回给定行和列的内容。由于most_tasty_items是布尔值的一维数组,我们如何使用[:3,:]? 如果它只是一个一维数组,我们可以直接说 [:]。不太明白这个,为什么我们把:第二个参数给[most_tasty_items,:]
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

当您使用两对括号寻址数据时,您将执行两个操作,第一个括号从数据中选择一个新数组,第二个括号寻址新数组。


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]:           


查看完整回答
反对 回复 2023-04-18
  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信