本文系统讲解NumPy数组的核心操作,涵盖五大创建方法(np.array()、np.zeros()等)、关键属性(shape、dtype等)及数据类型转换(astype()),通过代码示例演示如何高效构建和操作多维数组。适合Python数据科学初学者。
1 创建数组
import numpy as np
np.array():从Python列表/元组创建数组
# 从列表创建一维数组
arr1 = np.array([1, 2, 3, 4])
print(arr1)
# 从嵌套列表创建二维数组
arr2 = np.array([[1, 2], [3, 4]])
print(arr2)
# 注意:所有元素类型必须一致,否则会自动转换
mixed_arr = np.array([1, 2.5, "3"]) # 转换为字符串类型
print(mixed_arr.dtype)
[1 2 3 4]
[[1 2]
[3 4]]
np.zeros():创建全零数组 # 创建一维全零数组(默认float类型) zero_1d = np.zeros(3) print(zero_1d) # 输出: [0. 0. 0.] # 创建3x2全零数组(指定int类型) zero_2d = np.zeros((3, 2), dtype=int) print(zero_2d) [0. 0. 0.] [[0 0] [0 0] [0 0]] np.ones():创建全一数组 # 创建2x3全一数组(默认float类型) ones_2d = np.ones((2, 3)) print(ones_2d) [[1. 1. 1.] [1. 1. 1.]] np.arange():创建等差序列数组 # 类似Python的range,但返回数组 arr = np.arange(0, 10, 2) # 起始0,终止10(不含),步长2 print(arr) # 浮点数步长(可能因精度问题出现误差) arr_float = np.arange(0, 1, 0.3) print(arr_float) [0 2 4 6 8] [0. 0.3 0.6 0.9] np.linspace():创建等间隔数组 # 生成0到1之间的5个等间隔数(包含终点) lin_arr = np.linspace(0, 1, 5) print(lin_arr) # 示例:生成正弦函数采样点,可用于绘制连续曲线 x = np.linspace(0, 2*np.pi, 100) [0. 0.25 0.5 0.75 1. ] 2 数组属性 shape:数组维度 arr = np.array([[1, 2], [3, 4], [5, 6]]) print(arr.shape) (3, 2) dtype:数据类型 print(arr.dtype) # (默认整数类型) float_arr = np.array([1.1, 2.2]) print(float_arr.dtype) int64 float64 ndim:轴数(维度数) print(arr.ndim) # 二维数组 scalar = np.array(5) print(scalar.ndim) # 标量 2 0 size:元素总数 print(arr.size) # 3x2=6个元素 6 3 数据类型转换astype() # 将整数数组转换为浮点数 int_arr = np.array([1, 2, 3]) float_arr = int_arr.astype(np.float32) print(float_arr) # 将浮点数转换为整数(截断小数) float_arr = np.array([1.9, 2.5, 3.1]) int_arr = float_arr.astype(int) print(int_arr) # 指定字符串类型 str_arr = int_arr.astype(str) print(str_arr) [1. 2. 3.] [1 2 3] ['1' '2' '3'] 本文来自博客园,作者:ffff5,转载请注明原文链接:https://www.cnblogs.com/ffff5/p/18792493