2025——》创建Numpy数组np.array(列表)NumPy数组创建全攻略

创建Numpy数组np.array(列表)

让我们来开始认识学习——创建Numpy数组np.array(列表)吧!!!

np.array(列表) 是 NumPy 中最基本的数组创建方法,用于将 Python 列表(或嵌套列表)转换为 NumPy 数组。以下是详细介绍:

1. 功能

将 Python 列表(list)或嵌套列表转换为 NumPy 数组,支持多维结构。

2. 基本语法

import numpy as np

# 从一维列表创建数组
arr1d = np.array([1, 2, 3, 4])

# 从嵌套列表创建二维数组(矩阵)
arr2d = np.array([[1, 2, 3], [4, 5, 6]])

# 从嵌套列表创建三维数组
arr3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

import numpy as np

# 从一维列表创建数组
arr1d = np.array([1, 2, 3, 4])

# 从嵌套列表创建二维数组(矩阵)
arr2d = np.array([[1, 2, 3], [4, 5, 6]])

# 从嵌套列表创建三维数组
arr3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

3. 关键特性

3.1 数据类型(dtype)

  • 数组元素必须为同一数据类型(如整数、浮点数)。
  • NumPy 会自动推断数据类型,也可通过 dtype 参数显式指定:

    # 自动推断为整数
    arr_int = np.array([1, 2, 3])  # dtype='int64'

    # 显式指定为浮点数
    arr_float = np.array([1, 2, 3], dtype=float)  # dtype='float64'

  • # 自动推断为整数
    arr_int = np.array([1, 2, 3])  # dtype='int64'
    
    # 显式指定为浮点数
    arr_float = np.array([1, 2, 3], dtype=float)  # dtype='float64'
    
3.2 多维结构

  • 二维数组:嵌套列表的每个子列表代表一行。
  • arr2d = np.array([[1, 2, 3], [4, 5, 6]])
    print(arr2d.shape)  # 输出: (2, 3)  → 2行3列

    arr2d = np.array([[1, 2, 3], [4, 5, 6]])
    print(arr2d.shape)  # 输出: (2, 3)  → 2行3列
    
  • 三维数组:嵌套列表的每个子列表代表一个二维数组。

    arr3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
    print(arr3d.shape)  # 输出: (2, 2, 2) → 2个2×2矩阵

    arr3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
    print(arr3d.shape)  # 输出: (2, 2, 2) → 2个2×2矩阵
    

4. 示例代码

4.1 一维数组

import numpy as np

# 从列表创建一维数组
a = np.array([10, 20, 30, 40])
print(a)          # 输出: [10 20 30 40]
print(a.shape)    # 输出: (4,)
print(a.dtype)    # 输出: int64

import numpy as np

# 从列表创建一维数组
a = np.array([10, 20, 30, 40])
print(a)          # 输出: [10 20 30 40]
print(a.shape)    # 输出: (4,)
print(a.dtype)    # 输出: int64
4.2 二维数组(矩阵)

# 从嵌套列表创建二维数组
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
# 输出:
# [[1 2 3]
#  [4 5 6]]
print(b.shape)    # 输出: (2, 3)
 

# 从嵌套列表创建二维数组
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
# 输出:
# [[1 2 3]
#  [4 5 6]]
print(b.shape)    # 输出: (2, 3)
4.3 指定数据类型

# 创建浮点数数组
c = np.array([1.5, 2.7, 3.9])
print(c.dtype)    # 输出: float64

# 强制转换为整数(截断小数部分)
d = np.array([1.5, 2.7, 3.9], dtype=int)
print(d)          # 输出: [1 2 3]
 

# 创建浮点数数组
c = np.array([1.5, 2.7, 3.9])
print(c.dtype)    # 输出: float64

# 强制转换为整数(截断小数部分)
d = np.array([1.5, 2.7, 3.9], dtype=int)
print(d)          # 输出: [1 2 3]

5. 与其他创建方式的对比

方法用途示例
np.array(列表)将现有列表转换为数组np.array([1, 2, 3])
np.zeros(shape)创建全 0 数组np.zeros((2, 3))
np.ones(shape)创建全 1 数组np.ones(5)
np.arange(start, stop, step)创建等差数列np.arange(0, 10, 2)
np.linspace(start, stop, num)创建等距分布的数组np.linspace(0, 1, 5)

6. 常见问题

6.1 列表长度不一致(无法形成规则多维数组)

# 错误示例:子列表长度不一致
bad_arr = np.array([[1, 2], [3, 4, 5]])  # 会创建包含列表的一维数组
print(bad_arr)  # 输出: array([list([1, 2]), list([3, 4, 5])], dtype=object)
 

# 错误示例:子列表长度不一致
bad_arr = np.array([[1, 2], [3, 4, 5]])  # 会创建包含列表的一维数组
print(bad_arr)  # 输出: array([list([1, 2]), list([3, 4, 5])], dtype=object)
6.2 数据类型自动转换

# 整数与浮点数混合,自动转换为浮点数
mixed_arr = np.array([1, 2.5, 3])
print(mixed_arr)      # 输出: [1.  2.5 3. ]
print(mixed_arr.dtype)  # 输出: float64

# 整数与浮点数混合,自动转换为浮点数
mixed_arr = np.array([1, 2.5, 3])
print(mixed_arr)      # 输出: [1.  2.5 3. ]
print(mixed_arr.dtype)  # 输出: float64

7. 应用场景

  • 数据科学:处理表格数据、图像像素等结构化数据。
  • 机器学习:作为模型输入 / 输出的数据容器。
  • 数值计算:高效执行数学运算(如矩阵乘法)。

最后,我们通过 np.array(),可以灵活地将 Python 列表转换为高性能的 NumPy 数组,为后续的数据分析和计算奠定基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值