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']
posted @ 2025-03-25 22:38  ffff5  阅读(47)  评论(0)    收藏  举报