numpy入門—Numpy的核心array對象以及創建array的方法


Numpy的核心array對象以及創建array的方法

array對象的背景:

  • Numpy的核心數據結構,就叫做array就是數組,array對象可以是一維數組,也可以是多維數組;
  • Python的List也可以實現相同的功能,但是array比List的優點在於性能好、包含數組元數據信息、大量的便捷函數;
  • Numpy成為事實上的Scipy、Pandas、Scikit-Learn、Tensorflow、PaddlePaddle等框架的“通用底層語言”
  • Numpy的array和Python的List的一個區別,是它元素必須都是同一種數據類型,比如都是數字int類型,這也是Numpy高性能的一個原因;

array本身的屬性

  • shape:返回一個元組,表示array的維度
  • ndim:一個數字,表示array的維度的數目
  • size:一個數字,表示array中所有數據元素的數目
  • dtype:array中元素的數據類型

創建array的方法

  • 從Python的列表List和嵌套列表創建array
  • 使用預定函數arange、ones/ones_like、zeros/zeros_like、empty/empty_like、full/full_like、eye等函數創建
  • 生成隨機數的np.random模塊構建

array本身支持的大量操作和函數

  • 直接逐元素的加減乘除等算數操作
  • 更好用的面向多維的數組索引
  • 求sum/mean等聚合函數
  • 線性代數函數,比如求解逆矩陣、求解方程組

1. 使用Python的List和嵌套List創建一維的array和二維的array

2. 探索數組array的屬性

x為一維的數組,X為二維的數組

3. 創建array的便捷函數

使用arange創建數字序列

arange([start], stop, [ step], dtype=None)

使用ones創建全是1的數組

np.ones(shape, dtype=None, order='C')

shape : int or tuple of ints Shape of the new array, e.g., (2, 3) or 2.

使用ones_like創建形狀相同的數組

ones_like(a, dtype=float, order='C')

使用zeros創建全是0的數組

np.zeros(shape, dtype=None, order='C')

使用zeros_like創建形狀相同的數組

np.zeros_like(a, dtype=None)

使用empty創建全是0的數組

empty(shape, dtype=float, order='C')
注意:數據是未初始化的,里面的值可能是隨機值不要用,這個和zeros不同

使用empty_like創建形狀相同的數組

empty_like(prototype, dtype=None)

 

使用full創建指定值的數組

np.full(shape, fill_value, dtype=None, order='C')

使用random模塊生成隨機數的數組

randn(d0, d1, ..., dn)

4. array本身支持的大量操作和函數

這些操作如果用Python實現需要寫很多for循環,用numpy數組很容易

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM