跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 如何利用 NumPy 进行索引和切片?
未分類
29 12 月 2020

如何利用 NumPy 进行索引和切片?

如何利用 NumPy 进行索引和切片?

資深大佬 : fanqieipnet 8

处理多维数组,如何利用 NumPy 进行索引和切片?今天番茄加速就来跟大家讲解下。

  平时遇到关于 NumPy 的 bug,解决不了的,可以先去查看 API 的使用说明。

  理解 NumPy 的向量化能力,这正是赋予它简洁的重要原因之一。使用 Python 原生 API 会经常写些 for,但是 NumPy 让它变得不再需要,NumPy 一切都是按照向量计算。如下计算小于 3 的元素置 0,否则置为 1:

  # 使用 Python 原生

   a = [10,4,-6,3,5,1]

  # 小于 3 的元素置为 0,不小于 3 的元素置为 1

   b = []

   for i in a:

   b.append(0 if i < 3 else 1)

   print(b)

  使用 NumPy 的 where 方法,语法更加简洁,看不到 for 语句,符合 Python 哲学:

  # 使用 NumPy

   na = np.array(a)

  # 一行代码

   b = np.where(na < 3, 0, 1)

   print(b)

   3. 处理多维数组,NumPy 的索引和切片更强大,如下 na < 3 得到布尔索引,一切都按照向量化操作:

   na = np.array([10,4,-6,3,5,1])

   na[na < 3]

  # 结果如下:

  # array([-6, 1])

  # 创建二维数组

   np.random.randint(1,10,size=(3,4))

   c2 = np.random.randint(1,10,size=(3,4))

   c2

   array([[3, 2, 9, 9],

  [9, 5, 2, 4],

  [8, 1, 2, 4]])

  # 更强大简洁的切片功能:

   c2[:2,1:3]

   array([[2, 9],

  [5, 2]])

大佬有話說 (0)

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具