numpy中的常量表达,在这里有较为常用的有四个。
表示空值,两个np.nan是不一样的
import numpy as np np.nan # 两个np.nan是不相等的 print(np.nan == np.nan) # False print(np.nan != np.nan) # True我们可以用np.isnan( )对nan进行判断操作,替换等
import numpy as np x = np.array([1, 2, 3, np.nan, 5]) print(x) y = np.isnan(x) # 判断 print(y) x[np.isnan(x)] = 4 # 替换 print(x) y = np.isnan(x) # 判断 print(y) ''' [ 1. 2. 3. nan 5.] [False False False True False] [1. 2. 3. 4. 5.] [False False False False False] '''np.nan的数据类型是浮点数
表示无穷大 简单的加和乘法算出来的答案也是inf,如果是inf乘于0的话答案会是nan
print(1 + float('inf')) # inf print(2 * float('inf')) # inf print(0 * float('inf')) # nan表示圆周率
np.pi表示自然常数e
np.e无外乎就是bool、int、float、str等这几种类型
在numpy中,我们也可以将字符串转换成时间日期类型。
日期单位代码含义时间单位代码含义Y年h小时M月m分钟W周s秒D天ms毫秒使用arange()创建datetime64数组,用于生成日期范围
a = np.arange('2020-10-01', '2020-10-08',dtype = np.datetime64)timedelta64表示两个datetime64之间的差
a = np.datetime64('2020-10-20') - np.datetime64('2020-10-10') b = np.datetime64('2020-10-20') - np.datetime64('202-10-10 10:00') c = np.datetime64('2020-10-20') - np.datetime64('2020-10-10 20:00', 'D')这里面第三行的‘D’是强制指定使用单位
用np.array( )来创建一个数组
a = np.array([[1, 2, 3], [4, 5, 6]])这是一个二维数组,运行后输出的是一个矩阵,是一个两行三列矩阵。有一个特殊形式的矩阵叫行矩阵,就是只有一行的矩阵,跟上面的方法一样创建,创建一个一维数组。
a = np.array([[1, 2, 3]])要是遇到那么很多很多行很多很多列的可以用xxx.ndim来查看是几维数组的
a.ndim可以用xxx.shape来查询行列数,用xxx.size来查询一共有多少个元素
a.shape # 查询行列数 a.size # 查询一共有多少个元素第一个值就是起始值,第二个值是终止值,第三个就是步长
上面的第二段代码的例子是简单的相加减,就是对应元素相加减 乘法的话在这里面就有两种算法需要我们区别一下,例如第一种就是跟加减法一样,对应元素的相乘,第二种就是我们线代上面学习过的矩阵的乘法。 比如先举例第二种算法,矩阵的乘法。如这两个矩阵相乘
接下来说的这一种就是对应元素直接相乘,比较好理解