Python数据分析系列之Numpy常用操作第二篇

169 阅读2分钟

这是我参与11月更文挑战的第12天,活动详情查看:2021最后一次更文挑战

Numpy基础

Numpy的数据是同构多维的数据,意味着里面的元素都是同一张数据类型的,一般都是数值型。在Numpy中,一维称为一轴。

Numpy中多维数组ndarray需要了解的属性:

  • ndarray.ndim - 数组维度的个数。
  • ndarray.shape - 数组的维度,相当于科幻小说的几维空间的意思。对于有 m 行和 n 列的多维数组,shape 将是 (m,n)。因此,shape 元组的长度就是维度的个数 ndim
  • ndarray.size - 多维数组里面所有元素的个数。
  • ndarray.dtype - 多维数组里面的的元素的数据类型。
  • ndarray.itemsize - 多维数组中元素的字节大小,以字节为单位。

例子:

In [1]: import numpy as np
# 生成有15个元素的一维numpy 数组
In [2]: data = np.arange(15)

In [3]: data
Out[3]: array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])
# 由15个元素的一维numpy 数组重新组成3行5列的numpy多维数组
In [4]: data = data.reshape(3, 5)

In [5]: data
Out[5]:
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
# 多维数组的维度
In [6]: data.shape
Out[6]: (3, 5)
# 多维数组的维度个数
In [7]: data.ndim
Out[7]: 2
# 多维数组的元素的数据类型
In [8]: data.dtype
Out[8]: dtype('int64')

In [9]: data.dtype.name
Out[9]: 'int64'
# 多维数组的元素的字节大小
In [10]: data.itemsize
Out[10]: 8
# 多维数组的元素的个数
In [11]: data.size
Out[11]: 15

创建Numpy数组的方法:
常用的方法, 传递Python的列表数据:

In [12]: data = np.array([1, 2, 3])

In [13]: data
Out[13]: array([1, 2, 3])

In [14]: data = np.array([(1, 2, 3), (4, 5, 6)])

In [15]: data
Out[15]:
array([[1, 2, 3],
       [4, 5, 6]])

创建带初始化值且固定数组大小的Numpy数组的方法:

In [16]: np.zeros((2, 3))
Out[16]:
array([[0., 0., 0.],
       [0., 0., 0.]])

In [17]: np.ones((2, 3), dtype=np.int16)
Out[17]:
array([[1, 1, 1],
       [1, 1, 1]], dtype=int16)

In [18]: np.empty((2, 3))
Out[18]:
array([[0., 0., 0.],
       [0., 0., 0.]])