import numpy as np
from numpy import *
a = arange(6)
# shape属性:改变自身形状。-1自适应
print(a)
a.shape = 2, -1
print(a)
# reshape方法: 返回一个指定形状的数组,不改变自身
display = a.reshape(3, -1)
print(a)
print(display)
# 使用newaxis增加维度
a = arange(3)
print(shape(a))
print(a)
y = a[newaxis, :] # 在外面包一维
print(shape(y))
print(y)
# 外面包两层,里面包一层
y = a[newaxis, newaxis, :, newaxis]
print(y.shape)
print(y)
# 用squeeze去除长度为1的维度
display = y.squeeze()
print(display)
print(display.shape)
# 改变维度,让所有维度反过来
# 对于二维数组,相当于交换行和列,返回的数组相当于原来的view
# 改变值,原数组也变
a = arange(6)
a.shape = 2, -1
print(a)
display = a.transpose()
print(display)
# 数组拼接
x = array([
[0, 1, 2],
[10, 11, 12]
])
y = array([
[0, 1, 2],
[10, 11, 12]
])
z = concatenate((x, y))
print(z)
# 默认沿着第一维度拼接
z = concatenate((x, y), axis=0)
print(z)
z = concatenate((x, y), axis=1)
print(z)
# concatenate 不支持最高维度拼接 但是可以用以下方式
z = array((x, y))
print(z)
# 把多为数组变成一维数组
# 1. Flatten方法 返回的是复制
b = x.flatten()
print(b)
# 2. flat属性 返回原来的view
b = x.flat # b是迭代器,修改b的值会改变a的值
print(b[0])
b[0] = 1
print(b)
# 3.ravel方法
display = x.ravel()
print(display)
# 修改display的值会该改变x的值
# 这种情况不会改变原值
b = x.transpose()
display = b.ravel()
print(b)
display[0] = 2
print(b)
# 保证数据至少有x维度 x = 1, 2,3
a = arange(10)
print(a)
b = atleast_1d(a)
print(b)
c = atleast_2d(a)
print(c)
d = atleast_3d(a)
print(d)
numpy 形状
最新推荐文章于 2025-01-29 14:59:19 发布
本文详细介绍了使用Python的NumPy库进行数组操作的方法,包括如何改变数组形状、增加和减少维度、转置数组、拼接数组及将多维数组转换为一维数组等常见操作。
1899

被折叠的 条评论
为什么被折叠?



