当前位置:80小说网 > 都市言情 > 职场小聪明 > 第493章 Numpy多维数组,一个故事解释

第493章 Numpy多维数组,一个故事解释(1 / 2)

上一章 章节列表 下一页
好书推荐: 入夜,诱他疯宠 竞技之王 曦狂:青春纪 我,历史系!小小清穿拿捏拿捏 姐姐帮我!年下弟弟疯批爱撩 必要时我会变成一条龙 荒武洞天:从拆迁户到古神 小丧尸的古代成长日记 四合院:小透明的逆袭之路 【快穿】反派养成有限公司

故事比喻:魔法书架与多维数组(Nupy 多维数组)

在一个神秘的图书馆里,有一座巨大的魔法书架,它可以整齐地存放、查找、调整和计算大量的书籍。这个书架的排列方式非常特殊,就像 Nupy 的多维数组(ndarray),每一层、每一排、每一个格子都有规律可循。

1d 数组:单层书架(Nupy 的 1 维数组)

首先,魔法书架的第一层存放着一系列书籍,它们整齐地排成一排。

比喻:一维数组(1d array)就是一排书。

iport nupy as np

shelf = np.array([‘哈利波特’, ‘纳尼亚传奇’, ‘指环王’])

? 特点:

? 只有一排,没有更复杂的结构。

? 你可以用索引快速找到书,比如 shelf[0] 就是 ‘哈利波特’。

2d 数组:多层书架(Nupy 的 2 维数组)

馆长觉得一排书不够放,于是他增加了第二层书架,现在书架上有多行书,每一行都是一个类别:

书架层 书籍1 书籍2 书籍3

第一层(小说) 哈利波特 纳尼亚传奇 指环王

第二层(科幻) 三体 银河帝国 沙丘

比喻:二维数组(2d array)就像一个有多层的书架,每一行是一个类别。

shelves = np.array([

[‘哈利波特’, ‘纳尼亚传奇’, ‘指环王’],

[‘三体’, ‘银河帝国’, ‘沙丘’]

])

? 特点:

? 每一行都是一类书,比如 第一行是小说,第二行是科幻。

? shelves[1, 0] 代表 ‘三体’,因为 [1] 代表第二层,[0] 代表第一本书。

3d 数组:多排、多层、多书架(Nupy 的 3 维数组)

为了存放更多的书,图书馆扩建了一个新的房间,里面有多个这样的书架。现在整个图书馆的结构变成这样:

比喻:三维数组(3d array)就像有多个书架的房间。

library = np.array([

[ # 第一个书架

[‘哈利波特’, ‘纳尼亚传奇’, ‘指环王’],

[‘三体’, ‘银河帝国’, ‘沙丘’]

],

[ # 第二个书架

[‘时间简史’, ‘自私的基因’, ‘黑天鹅’],

[‘计算机科学导论’, ‘人工智能原理’, ‘数学之美’]

]

])

? 特点:

? 现在有多个独立的书架,每个书架有多层,每层有多本书。

? library[1, 0, 2] 代表的是 ‘黑天鹅’:

? [1] 代表 第二个书架(科普 & 计算机)。

? [0] 代表 第一层(科普类书籍)。

? [2] 代表 第三本书(黑天鹅)。

Nupy 多维数组的强大之处

1. 快速查找:就像书架上编号一样,我们可以用索引找到任何一本书,比如 library[1, 0, 2] 直接定位到《黑天鹅》。

2. 批量操作:如果我们想一次性把所有书架的书名都改成大写,只需一行代码,而不需要手动翻书:

library = np.char.upper(library)

3. 强大的数学计算能力:假设书架上放的不

上一章 章节列表 下一页
新书推荐: 废婿之隐龙觉醒 无敌大百科[快穿] 乱世帝都 重生1985,从卖火锅开始成为世界首富 亲妈重生在七零,带着崽崽杀疯了 官妻 宦海狂澜 哄我婚前试爱?闪婚哥哥死对头他才后悔 被他吻时心动 别给我刷黑科技啦