[英]Subsetting 2D NumPy Arrays
你好,我正在学习 python 的道路上,我正在努力理解这个问题,你能帮我解决这个问题吗
打印出 np_baseball 的第 50 行。 为什么这个命令的答案是 [49, :] 从我的角度来看,如果要求第 50 个应该只是 [49] 为什么还有额外的:
将非常高兴您的回应
如果选择元组中的对象数小于 N,则假定任何后续维度为 :。
所以这两个版本实际上是一样的。
文档给出的示例是这样的:
x = np.array([[[1],[2],[3]], [[4],[5],[6]]])
x[1:2] # array([[[4],[5],[6]]])
看起来你正在使用这course
:
https://github.com/datacamp/courses-introduction-to-python/blob/master/chapter4.md
并查看这段代码:
# baseball is available as a regular list of lists
# Import numpy package
import numpy as np
# Create np_baseball (2 cols)
np_baseball = np.array(baseball)
# Print out the 50th row of np_baseball
print(np_baseball[49,:])
# Select the entire second column of np_baseball: np_weight_lb
np_weight_lb = np_baseball[:,1]
# Print out height of 124th player
print(np_baseball[123, 0])
请注意,选择一列的下一行使用[:,1]
表示法:
np_baseball[:,1]
这里需要':'来识别/分割第一个维度,行。 在np_baseball[49,:]
中,':' 做同样的事情,切割第二维。 但作为简写,不需要指定尾随尺寸,因此np_baseball[49]
很好。
在编写指导性答案时,我喜欢包含尾随切片,即使代码不需要它。 我认为它使(大多数:))人类读者更清楚。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.