python - 始终返回数组的 numpy 切片

给定一个 numpy 数组和一个 __getitem__ 类型的索引,是否有一种惯用的方法来获取数组的相应切片,总是返回一个数组而不是标量

有效索引的示例包括:intslice、省略号或上述的元组。

假设我有一个这样的数组:

a = np.array([[1,2],[3,4]])

我正在寻找一个在所有情况下都等同于 a[whatever] 的操作,除非 a[whatever] 返回标量(例如,a[1,1]).在这些情况下,我希望这个替代操作返回一个单元素数组。

最佳答案

如果您只想返回单元素数组,否则会返回标量,为什么不对切片的结果使用 numpy.atleast_1d

例如:

import numpy as np
x = np.arange(100).reshape(10,10)
print x[0,0]
print np.atleast_1d(x[0,0])
print np.atleast_1d(x[:,:3])

https://stackoverflow.com/questions/5902108/

相关文章:

asp.net - ObjectDataSource 没有要插入的值

sql-server - SQL 服务器 : select without order

php - 尝试在 php 中为在线商店实现促销代码框

sql-server - SQL Server 复制数据库问题

WPF - TextBlock 文本 + 超链接

.net - 转义中间字符串百分号,正则表达式是最好的选择吗?

file - 使用 cURL 检查文件是否存在于 FTPS 站点上

php - 在 url mod_rewrite 中隐藏扩展名 .php

performance - C# 和 C++ 可以互操作高性能代码吗?

.net - "Statement is not valid in a namespace"错误信息