python - 为什么对 ndarray 进行切片会 reshape 它的形状?

标签 python numpy matplotlib

我有一个nx1数组,a:

array([[0],
       [0],
       [0]])

当我用它切片时

a[:-1,0]

它变成:

a([0,0])

我无法在绘图中使用它(现在尺寸是错误的,即使长度是正确的)。我试过了

a[:-1,0].T

transpose(a[:-1,0])

没有效果。

如何在不改变形状的情况下切片? (我想将其保留为列形式)

最佳答案

a = numpy.zeros((3,1)) ,然后

    b = a[:-1,:]

会给你一个列向量。

    array([[ 0.],
           [ 0.]])

在对 numpy 数组进行切片时,必须区分列的内容,例如a[:,0],并寻址列本身,例如a[:,0:1] 或 - 在本例中 - a[:,:]

关于python - 为什么对 ndarray 进行切片会 reshape 它的形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14549286/

相关文章:

python - 从列表中删除包含列表的重复元组

python - 不使用 sys.path.append 或 sys.path.insert 从目录导入文件

python - vec4 多个 mat4,然后在 Python 中将其设为 vec3

python - 使用多色线向 matplotlib 图添加图例

python - 使用 matplotlib.pyplot.plot_date 绘制多数据集

python - 如何在 python 交互模式下撤消 True = False?

Python:Configparser - 转义换行符?

python - 在 Python 中采样截断的整数幂律?

python-2.7 - 在 Windows 上从轮格式安装 numpy(在此平台上不支持轮。)

python - 使用 bokeh 或 matplotlib 绘制主题