当前位置:首页>python>Python数据分析基石NumPy全套干货Part.3

Python数据分析基石NumPy全套干货Part.3

  • 2026-09-06 21:06:35
Python数据分析基石NumPy全套干货Part.3
(喜欢的读者朋友欢迎点赞关注~)

第三篇:数组操控核心✨属性查看+索引切片,精准提取数据

学会创建数组后,接下来就要学会看懂数组、提取数组数据,这是NumPy数据处理的核心操作。

本篇聚焦数组核心属性查看、索引定位、切片提取、维度修改四大高频操作,教大家精准操控数组,拿到数据不迷茫,不管是一维还是多维数组,都能轻松提取目标内容~

📋 第一步:查看数组核心属性(读懂数组信息)

处理数据前,先通过数组属性了解数据结构,NumPy提供了5个核心属性,一键获取数组维度、形状、大小等信息:

  • ndim:数组维度数(轴数)

  • shape:数组形状(几行几列,返回元组)

  • size:数组总元素个数

  • dtype:数组元素数据类型

  • itemsize:单个元素占用字节大小

import numpy as np# 创建二维数组测试arr = np.array([[1,2,3],[4,5,6],[7,8,9]])print("数组维度:", arr.ndim)print("数组形状:", arr.shape)print("总元素个数:", arr.size)print("数据类型:", arr.dtype)

🎯 数组索引:精准定位单个元素

索引用于定位数组中单个元素,和Python列表索引类似,支持正索引、负索引,多维数组需用逗号分隔维度索引:

一维数组索引

arr1 = np.array([10,20,30,40,50])print("第一个元素:", arr1[0])   # 正索引print("最后一个元素:", arr1[-1]) # 负索引

二维数组索引(先行后列)

arr2 = np.array([[1,2,3],[4,5,6],[7,8,9]])# 提取第1行第2列元素print(arr2[0,1])# 提取最后一行第一个元素print(arr2[-1,0])

✂️ 数组切片:批量提取数据片段

切片用于批量提取数组片段,格式为数组[起始:结束:步长],遵循“左闭右开”原则,多维数组切片用逗号分隔各维度切片:

二维数组切片实战

arr2 = np.array([[1,2,3],[4,5,6],[7,8,9]])# 提取前2行,所有列print(f"arr2[:2, :] = {arr2[:2, :]}")# 提取所有行,第2列print(f"arr2[:, 1] = {arr2[:, 1]}")# 提取中间2x2子数组print(f"arr2[1:3, 1:3] = {arr2[1:3, 1:3]}")

🔄 数组维度修改:重塑与转置

数据处理中常需要调整数组形状,NumPy提供便捷的重塑和转置方法,不用改动数据就能改变结构:

  • reshape():重塑数组形状,元素总数保持不变

  • T:数组转置,行和列互换

arr1 = np.arange(6)print(f"arr1 = {arr1}")# 一维数组重塑为2行3列arr_reshape = arr1.reshape(2,3)# 数组转置arr_T = arr_reshape.Tprint("重塑后:\n", arr_reshape)print("转置后:\n", arr_T)

⚠️ 新手避坑指南

  • 切片是左闭右开,结束索引位置不包含;

  • reshape重塑时,新形状乘积必须和原数组size一致;

  • 多维索引和切片,逗号前是行,逗号后是列,别记反。

📚 本篇小结+下篇预告

本篇我们搞定了数组的属性查看、索引定位、切片提取和维度修改,实现了数组的精准操控。第四篇将进入核心运算环节,讲解数组的数学运算、统计计算、广播机制,真正实现高效数值计算,也是NumPy最核心的功能~


往期回顾:
Python学习笔记——从入门到报废(十、循环(中))
Python可视化天花板|wordcloud词云库,搭配jieba做出高颜值创意图!
Python中文分词神器jieba|精准拆分文本,数据分析必备!
用Python Pygame做小游戏|从设计到算法,手把手复刻经典款

最新文章

随机文章