'''
数组维度
'''

#(1)一维维度与二维数组
'''
不同维度的数组之间,从外形上的本质区别是
一维数组使用1层中括号表示
二维数组使用2层中括号表示
三维数组使用3层中括号表示
有些函数需要传入数组的形状参数,不同维度数组的形状参数为
一维数组的形状参数形如:x或y
二维数组的形状参数形如:(x,y)
三维数组的形状参数形如:(x,y,z)
现在以同一个序列进行举例
当数组有1层中括号,如[1 2 3],则其为一维数组,其形状是3或(3,);
当数组有2层中括号,如[[1 2 3]],则其为二维数组,其形状是(1,3)
当数组有3层中括号,如[[[1 2 3]]],则其为三维数组,其形状是(1,1,3)
'''

'''
NumPy ones 函数速览
用于创建给定形状 shape、指定数据类型 dtype、并按指定内存顺序 order存储的、元素全为1的新数组;返回类型为 ndarray。这是进行数组初始化、占位与模板构建的常用方法

函数签名与参数
shape:数组形状,可为单个整数(如 5)或整数序列(如 (2, 3))。
dtype(可选):数据类型,默认为 float64;可指定如 int、bool、float32​ 等。
order(可选):内存布局,'C'​ 行优先(C-style,默认),'F'​ 列优先(Fortran-style)。
device(可选,Array API 互通):放置设备,当前仅支持 "cpu"(若传入)。
like(可选):参考数组,用于创建与之兼容的非 NumPy 数组(支持 array_function​ 协议)。
返回值:ndarray,形状、类型、顺序由参数决定,元素全为 1。
'''
import numpy as np

arr1=np.ones(3) #传入形状3//.ones创建全为1的数组
print("\n"+ "传入形状3,造出一维数组:" + str(arr1))

arr2=np.ones((2,3)) #传入形状(1,3)
print("\n"+ "传入形状(2,3),造出二维数组:" + str(arr2))

arr3=np.ones((1,1,3)) #传入形状(1,3)
print("\n"+ "传入形状(1,1,3),造出三维数组:" + str(arr3))

print("\n"+ "传入形状3,造出一维数组" + str(arr1.shape))

print("\n"+ "传入形状(1,3),造出二维数组" + str(arr2.shape))

print("\n"+ "传入形状(1,1,3),造出三维数组" + str(arr3.shape))


#(1)不同维度之间数组的转换
#创建一维数组
arr1 = np.arange(10)
print("\n"+ "创建一维数组:" + str(arr1))

arr2 = arr1.reshape(1,-1)
print("\n"+ "升级为二维数组:" + str(arr2))
arr3 = arr2.reshape(1,2,-1)
print("\n"+ "升级为三维数组:" + str(arr3))
arr4 = arr2.reshape(-1)
print("\n"+ "降级为一维数组:" + str(arr4))


C:\Users\YQ\PycharmProjects\PythonProject\.venv\Scripts\python.exe -X pycache_prefix=C:\Users\YQ\AppData\Local\JetBrains\PyCharm2025.2\cpython-cache "D:/xinjianwenjianjia/JetBrains/JetBrainsPyCharm 2025.2.4/PyCharm 2025.2.4/plugins/python-ce/helpers/pydev/pydevd.py" --multiprocess --qt-support=auto --client 127.0.0.1 --port 62631 --file C:\Users\YQ\PycharmProjects\PythonProject\_numpy_test02.py
Connected to: <socket.socket fd=596, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 62632), raddr=('127.0.0.1', 62631)>.
已连接到 pydev 调试器(内部版本号 252.27397.106)
传入形状3,造出一维数组:[1. 1. 1.]

传入形状(2,3),造出二维数组:[[1. 1. 1.]
[1. 1. 1.]]

传入形状(1,1,3),造出三维数组:[[[1. 1. 1.]]]

传入形状3,造出一维数组(3,)

传入形状(1,3),造出二维数组(2, 3)

传入形状(1,1,3),造出三维数组(1, 1, 3)

创建一维数组:[0 1 2 3 4 5 6 7 8 9]

升级为二维数组:[[0 1 2 3 4 5 6 7 8 9]]

升级为三维数组:[[[0 1 2 3 4]
[5 6 7 8 9]]]

降级为一维数组:[0 1 2 3 4 5 6 7 8 9]

 

posted on 2025-11-11 14:46  偷懒的阿贤  阅读(7)  评论(0)    收藏  举报