有点困惑,我很确定我在这里遗漏了一些东西:索引数组和来自不同数组的元素?

2024-10-06 12:28:20 发布

您现在位置:Python中文网/ 问答频道 /正文

Image

我对第11行的np_heights被np_positions==“GK”索引感到非常困惑,这是一个不同数组中的元素。(如果我没弄错的话)

我已经按照datacamp中的说明写了这行: 把守门员的身高都拔出来。您可以在这里使用一个小技巧:使用np_positions=='GK'作为np_高度的索引。将结果指定给gk_heights

代码起作用了,说我得到了正确的答案,但我仍然对第11行中发生的事情感到困惑。你真的能用一个不同数组中的元素来索引一个数组吗?或者我只是看得不对吗?哈哈,提前谢谢

代码编写如下:

# heights and positions are available as lists

# Import numpy
import numpy as np

# Convert positions and heights to numpy arrays: np_positions, np_heights
np_positions = np.array(positions)
np_heights = np.array(heights)

# Heights of the goalkeepers: gk_heights 
gk_heights = np_heights[np_positions == "GK"]

# Heights of the other players: other_heights
other_heights = np_heights[np_positions != "GK"]

# Print out the median height of goalkeepers. Replace 'None'
print("Median height of goalkeepers: " + str(np.median(gk_heights)))

Tags: andofthe代码numpy元素asnp
1条回答
网友
1楼 · 发布于 2024-10-06 12:28:20

比较Numpy arrayString将返回arrayTrueFalse,如果我们使用它进行初始化,如您在问题中提到的那样,将初始化与True值相对应的array

>>> import numpy as np
>>> positions = ["GK","Sf","RB"]
>>> hights = [6,6.1,7]
>>> np_positions = np.array(positions)
>>> np_heights = np.array(hights)

>>> np_positions == "GK"
array([ True, False, False])

>>> np_heights[np_positions == "GK"]
array([6.])

>>> gk_heights = np_heights[np_positions == "GK"]

>>> gk_heights
array([6.])

相关问题 更多 >