python - 将一维 numpy.array 索引为矩阵

标签 python numpy

我正在尝试在运行时为具有不同维度的 numpy.array 编制索引。检索例如n*m 数组的第一行 a,你可以简单地做

a[0,:]

但是,如果 a 恰好是 1xn 向量,上面的代码会返回索引错误:

IndexError: too many indices

由于需要尽可能高效地执行代码,因此我不想引入 if 语句。有人有理想的不涉及更改任何数据结构类型的便捷解决方案吗?

最佳答案

只需使用 a[0] 而不是 a[0,:]。它将返回矩阵的第一行和向量的第一个条目。这是您要找的吗?

如果您想获得一维情况下的整个向量,您可以使用 numpy.atleast_2d(a)[0]。它不会复制您的矢量 - 它只会将其作为二维 1 x n 数组进行访问。

关于python - 将一维 numpy.array 索引为矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716647/

相关文章:

python - 从多季度期间提取季度数据

python - 如何在 Python 中将数组列表导出到 csv?

python - 如何在 cython 的 nogil 循环下将 numpy.ndarray 分配给临时变量?

python - Lomb-Scargle 与 FFT 功率谱 : crashes with evenly spaced data

Python:如何在使用正则表达式时跳过有多余字符的行?

python - 在第二个脚本函数中传递来自第一个 python 脚本主函数的数据

python - 如何使用 openpyxl python 在 Excel 中插入复选框?

python - 在 python 中计算 thd

python - argparse 何时停止显示无参数的 'short help' ?

python - 在python中使用Klein访问http post请求的json内容