Numpy基础 ---创建数组

Numpy基础

-------------------------------------------------------------------创建数组

操作系统:windows7+Anaconda3+python3.6

Numpy是python中的一个数据库。可以使我们在python中进行向量和矩阵计算。

Numpy包的核心是ndarray对象。

Numpy数组 和 标准Python Array(数组) 之间的区别:

  • Numpy数组在创建时具有固定的大小,与Python的原生数组对象(可以动态增长)不同。 更改ndarray的大小将创建一个新数组并删除原来的数组。
  • Numpy数组中的元素都需要具有相同的数据类型,因此在内存中的大小相同。
  • 若Python的原生数组里包含了Numpy的对象,可以有不同大小元素的数组。

1.创建一个数组有多种方式

Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32

将序列(参数)传递给NumPy的array()函数; 传递的参数,可以是任意数据类型,不仅仅是列表(list)数据类型。
# 第一种
In[1]: import numpy as np
In[2]: a = np.array([0,1,2,3])
In[3]: a
array([0, 1, 2, 3])
In[5]: print(a)
[0 1 2 3]

# 第二种
In[6]: b = np.array((0,1,2,3,4))
In[7]: b
array([0, 1, 2, 3, 4])
In[9]: print(b)
[0 1 2 3 4]

# 第三种
In[10]: c = np.arange(4)
In[11]: c
array([0, 1, 2, 3])
In[10]: print(c)
[0 1 2 3]

# 第四种
In[10]: d = np.linspace(0,np.pi,3,1)
In[10]: d
array([0.        , 1.57079633, 3.14159265])
In[10]: print(d)
[0.         1.57079633 3.14159265]


2.创建N维数组的函数

  • 创建一个5行5列的数值为浮点1的矩阵

    In[2]: import numpy as np
    In[2]: np.ones([5, 5])
    Out[4]: 
    array([[1., 1., 1., 1., 1.],
           [1., 1., 1., 1., 1.],
           [1., 1., 1., 1., 1.],
           [1., 1., 1., 1., 1.],
           [1., 1., 1., 1., 1.]])
    
  • 创建5行5列的数值为浮点0的矩阵

    In[2]: import numpy as np
    In[2]: np.zeros([5, 5])
    OuIn[2]: t[5]: 
    array([[0., 0., 0., 0., 0.],
           [0., 0., 0., 0., 0.],
           [0., 0., 0., 0., 0.],
           [0., 0., 0., 0., 0.],
           [0., 0., 0., 0., 0.]])
    
  • 创建一个指定 行、列 的数组 默认值是0或者正无穷或负无穷

    In[2]: import numpy as np
    In[3]: np.empty((3,4))
    Out[3]: 
    array([[1.83e-322, 0.00e+000, 0.00e+000, 0.00e+000],
           [0.00e+000, 0.00e+000, 0.00e+000, 0.00e+000],
           [0.00e+000, 0.00e+000, 0.00e+000, 0.00e+000]])
    

3.Numpy 查看数组的属性

In[2]: a = [1,9,5,2,0,4]
In[2]: b = np.array(a)
In[2]: b
Out[8]: array([1, 9, 5, 2, 0, 4])
In[2]: b.size   # 查看数组元素个数
Out[9]: 6
In[2]: b.shape  # 查看数组形状
Out[10]: (6,)
In[2]: b.ndim   # 查看数组维度
Out[11]: 1
In[2]: b.dtype  # 查看数组元素类型
Out[12]: dtype('int32')

4.print数组(矩阵)

一维数组被打印为行、二维为矩阵和三维为矩阵列表

In[2]: a = np.arange(6)  # 一维数组
In[2]: a
Out[14]: array([0, 1, 2, 3, 4, 5])

In[2]: b = np.arange(12).reshape(4,3) # 二维数组
In[2]: b
Out[16]
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])
       
In[2]: c = np.arange(24).reshape(2,3,4) #三维数组
In[2]: c
Out[18]: 
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],
       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])

猜你喜欢

转载自blog.csdn.net/huiyinimen/article/details/83212296