讲到NumPy,不得不提ndarray这个核心组件

Python的数据科学和数值计算领域,NumPy库扮演着不可或缺的角色。核心组件ndarray是NumPy提供的多维数组对象,它是探索NumPy强大功能的入口。本文将带你走近ndarray,深入了解它的结构、特性和如何在数据科学中发挥关键作用。

什么是NumPy的ndarray

NumPy的ndarray是一个多维数组对象,提供了统一的数据类型来存储同类型数据的集合。与Python原生的数据结构相比,ndarray具有更高的存储和计算效率,是进行科学计算的基础。

ndarray的核心特性

  • 同质性ndarray中的所有元素必须是相同类型的,这种设计使得数组操作可以非常高效。
  • 多维度ndarray支持从一维到多维的数据结构,使得它可以方便地表示向量、矩阵以及更高维度的数据集合。
  • 可变大小:虽然ndarray本身的大小是固定的,但可以通过创建新的数组并删除旧数组的方式来模拟数组大小的改变。
  • 广播机制ndarray支持广播机制,允许进行不同形状数组之间的算术运算。
  • 高效的内存使用ndarray提供了一种高效的方式来存储和操作大量数据,这得益于它直接在内存中进行操作,减少了不必要的复制和分配。

创建ndarray

创建ndarray对象最直接的方法是使用numpy.array函数,它可以将Python列表或元组转换成ndarray对象。

import numpy as np

# 使用列表创建一维数组
arr1 = np.array([1234])

# 使用列表的列表创建二维数组
arr2 = np.array([[123], [456]])

print(arr1)
print(arr2)

此外,NumPy还提供了一系列函数来创建特殊的数组,如全零数组zeros、全一数组ones、空数组empty等。

ndarray的数据类型

ndarray支持多种数据类型,包括但不限于整数(int32、int64)、浮点数(float32、float64)、复数等。在创建数组时,可以通过dtype参数显式指定数据类型:

arr = np.array([1234], dtype=np.float64)
print(arr.dtype)  # 输出: float64

数组的形状与重塑

ndarray的形状由其各个维度上的元素数量决定,可以通过shape属性获得。更改数组的形状可以使用reshape方法,它返回一个新形状的数组而不改变原数组的数据。

arr = np.array([[123], [456]])
print(arr.shape)  # 输出: (2, 3)

# 重塑数组
new_arr = arr.reshape((32))
print(new_arr)

数组的索引与切片

ndarray支持多种索引方式,包括基本的切片、整数索引、布尔索引等,使得数据的提取和操作变得灵活方便。

arr = np.array([12345])

# 使用切片
print(arr[1:4])  # 输出: [2 3 4]

# 使用布尔索引
print(arr[arr > 3])  # 输出: [4 5]

结语

NumPy的ndarray提供了一个强大

且灵活的方式来处理和分析数据。掌握ndarray的使用是进入Python数据科学世界的关键。通过本文的介绍,希望你能对ndarray有一个初步的了解,并鼓励你继续探索更多的NumPy功能,解锁数据分析和科学计算的无限可能。


原文始发于微信公众号(跟着布布学Python):讲到NumPy,不得不提ndarray这个核心组件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/256455.html

(0)
葫芦侠五楼的头像葫芦侠五楼

相关推荐

发表回复

登录后才能评论
极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!