佳熹小说网 > 科幻小说 > 职场小聪明 > 第493章 Numpy多维数组,一个故事解释

第493章 Numpy多维数组,一个故事解释

推荐阅读:我老婆是真仙这对血族不太冷骑斗天下神诡穿越秦朝我竟成了宦官文明的扉页青青剑吟我真不想继承图书馆啊咒术回战之孪生咒灵惊墨

    故事比喻:魔法书架与多维数组(NumPy 多维数组)
    在一个神秘的图书馆里,有一座巨大的魔法书架,它可以整齐地存放、查找、调整和计算大量的书籍。这个书架的排列方式非常特殊,就像 NumPy 的多维数组(ndarray),每一层、每一排、每一个格子都有规律可循。
    1D 数组:单层书架(NumPy 的 1 维数组)
    首先,魔法书架的第一层存放着一系列书籍,它们整齐地排成一排。
    比喻:一维数组(1D array)就是一排书。
    import numpy as np
    shelf = np.array([‘哈利波特’, ‘纳尼亚传奇’, ‘指环王’])
    ? 特点:
    ? 只有一排,没有更复杂的结构。
    ? 你可以用索引快速找到书,比如 shelf[0] 就是 ‘哈利波特’。
    2D 数组:多层书架(NumPy 的 2 维数组)
    馆长觉得一排书不够放,于是他增加了第二层书架,现在书架上有多行书,每一行都是一个类别:
    书架层 书籍1 书籍2 书籍3
    第一层(小说) 哈利波特 纳尼亚传奇 指环王
    第二层(科幻) 三体 银河帝国 沙丘
    比喻:二维数组(2D array)就像一个有多层的书架,每一行是一个类别。
    shelves = np.array([
    [‘哈利波特’, ‘纳尼亚传奇’, ‘指环王’],
    [‘三体’, ‘银河帝国’, ‘沙丘’]
    ])
    ? 特点:
    ? 每一行都是一类书,比如 第一行是小说,第二行是科幻。
    ? shelves[1, 0] 代表 ‘三体’,因为 [1] 代表第二层,[0] 代表第一本书。
    3D 数组:多排、多层、多书架(NumPy 的 3 维数组)
    为了存放更多的书,图书馆扩建了一个新的房间,里面有多个这样的书架。现在整个图书馆的结构变成这样:
    比喻:三维数组(3D array)就像有多个书架的房间。
    library = np.array([
    [ # 第一个书架
    [‘哈利波特’, ‘纳尼亚传奇’, ‘指环王’],
    [‘三体’, ‘银河帝国’, ‘沙丘’]
    ],
    [ # 第二个书架
    [‘时间简史’, ‘自私的基因’, ‘黑天鹅’],
    [‘计算机科学导论’, ‘人工智能原理’, ‘数学之美’]
    ]
    ])
    ? 特点:
    ? 现在有多个独立的书架,每个书架有多层,每层有多本书。
    ? library[1, 0, 2] 代表的是 ‘黑天鹅’:
    ? [1] 代表 第二个书架(科普 & 计算机)。
    ? [0] 代表 第一层(科普类书籍)。
    ? [2] 代表 第三本书(黑天鹅)。
    NumPy 多维数组的强大之处
    1. 快速查找:就像书架上编号一样,我们可以用索引找到任何一本书,比如 library[1, 0, 2] 直接定位到《黑天鹅》。
    2. 批量操作:如果我们想一次性把所有书架的书名都改成大写,只需一行代码,而不需要手动翻书:
    library = np.char.upper(library)
    3. 强大的数学计算能力:假设书架上放的不是书,而是销量数据,我们可以一键计算总销量、平均销量、最高销量等,比传统的循环处理快很多。
    总结:NumPy 的多维数组就像魔法书架
    ? 1D 数组(单排书架):一排书,按序存放。
    ? 2D 数组(多层书架):有多个层,每一行是一类书。
    ? 3D 数组(多个书架):多个书架,每个书架有多层,每层有多本书。
    思考:你生活中还有哪些类似 NumPy 数组的结构?比如 Excel 表格、仓库货架、电影分类系统?NumPy 的强大之处就在于,它能让我们轻松管理和计算这些数据!

本文网址:https://jxkel.com/xs/1/1235/399567.html,手机用户请浏览:https://jxkel.com享受更优质的阅读体验。

温馨提示:按 回车[Enter]键 返回书目,按 ←键 返回上一页, 按 →键 进入下一页,加入书签方便您下次继续阅读。章节错误?点此举报