【发布时间】:2020-08-01 11:18:47
【问题描述】:
我需要一个函数来获取 numpy 数组中沿轴的最后一个元素。
例如,如果我有一个数组,
a = np.array([1, 2, 3])
函数应该像这样工作
get_last_elements(a, axis=0)
>>> [3]
get_last_elements(a, axis=1)
>>> [1, 2, 3]
这个函数也需要对多维数组起作用:
b = np.array([[1, 2],
[3, 4]])
get_last_elements(b, axis=0)
>>> [[2],
[4]]
get_last_elements(b, axis=1)
>>> [3, 4]
有人有实现它的好主意吗?
【问题讨论】:
-
您确定要
get_last_elements(a, axis=1)用于第一个示例吗?因为a的形状是(3,),而不是(1, 3)。 -
请发布您的尝试。
-
是的。我要那个。但是,也许我可以使用 X = np.reshape(X,(1, X.size)) 或其他方式轻松地将 1d 数组转换为 2d。
-
np.take可能有用。np.atleast_2d在处理一维输入时可能会有所帮助。
标签: python arrays numpy numpy-ndarray numpy-slicing