Task01: Numpy的数据类型及数组创建(学习笔记)

常量

numpy中的常量表达,在这里有较为常用的有四个。

numpy.nan

表示空值,两个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的数据类型是浮点数

numpy.inf

表示无穷大
简单的加和乘法算出来的答案也是inf,如果是inf乘于0的话答案会是nan

print(1 + float('inf')) # inf
print(2 * float('inf')) # inf
print(0 * float('inf')) # nan

numpy.pi

表示圆周率

np.pi

numpy.e

表示自然常数e

np.e

数据类型

无外乎就是bool、int、float、str等这几种类型

时间日期和时间增量

datetime64 基础

在numpy中,我们也可以将字符串转换成时间日期类型。

日期单位代码含义时间单位代码含义
Yh小时
Mm分钟
Ws
Dms毫秒

在这里插入图片描述
在这里插入图片描述
使用arange()创建datetime64数组,用于生成日期范围

a = np.arange('2020-10-01', '2020-10-08',dtype = np.datetime64)

在这里插入图片描述

datetime64 和 timedelta64 运算

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’是强制指定使用单位

timedelta64 的运算

a = np.timedelta64(1, 'Y')
b = np.timedelta64(6, 'M')
c = np.timedelta64(1, 'W')
d = np.timedelta64(1, 'D')
e = np.timedelta64(10, 'D')
print(a)  # 1 years
print(b)  # 6 months
print(a + b)  # 18 months
print(a - b)  # 6 months
print(2 * a)  # 2 years
print(a / b)  # 2.0
print(c / d)  # 7.0
print(c % e)  # 7 days

数组的创建

用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 # 查询一共有多少个元素

在这里插入图片描述

创建一个有序数组

a = np.arange(10, 20, 2)

第一个值就是起始值,第二个值是终止值,第三个就是步长
在这里插入图片描述

简单的运算

上面的第二段代码的例子是简单的相加减,就是对应元素相加减
乘法的话在这里面就有两种算法需要我们区别一下,例如第一种就是跟加减法一样,对应元素的相乘,第二种就是我们线代上面学习过的矩阵的乘法。
比如先举例第二种算法,矩阵的乘法。如这两个矩阵相乘
在这里插入图片描述

接下来说的这一种就是对应元素直接相乘,比较好理解
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值