NumPy入门系列①:数组创建与类型转换完全指南
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]]
<U32
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