Numpy【学习礼包】常量、数据类型、时间日期和时间增量、

        嗨喽! 大家好,我是“流水不争先,争得滔滔不绝”的翀,18双非本科生一枚,正在努力!欢迎大家来交流学习,一起学习数据分析,希望我们一起好好学习,天天向上,目前是小社畜一枚~~

1 常量

1.1 numpy.nan

import numpy as np
print(np.nan == np.nan)  
print(np.nan != np.nan)

在这里插入图片描述(1)np.nan不是一个空对象,用i is None 判断是False 用np.isnan()判断是True

(2)对某个值判断是否为控制时,只能用np.isnan(i)函数,绝不可能用 i==np.nan()!!!

(3)因为空值不能用判断相等的"=="正确识别
np.nan非空对象,其类型为基本数据类型float
在这里插入图片描述

1.2 numpy.inf

numpy中的inf表示一个无限大的正数
在这里插入图片描述

1.3 numpy.pi

numpy.pi 表示圆周率
在这里插入图片描述

1.4 numpy.e

numpy.e 表示自然常数
在这里插入图片描述

2 数据类型

2.1常见数据类型

Python 原生的数据类型相对较少, bool、int、float、str等。这在不需要关心数据在计算机中表示的所有方式的应用中是方便的。然而,对于科学计算,通常需要更多的控制。为了加以区分 numpy 在这些类型名称末尾都加了“_”。

下表列举了常用 numpy 基本类型

在这里插入图片描述

2.2 创建数据类型

numpy 的数值类型实际上是 dtype 对象的实例

在这里插入图片描述每个内建类型都有一个唯一定义它的字符代码,如下:

在这里插入图片描述
itemsize输出array元素的字节数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

2.3数据类型信息

Python 的浮点数通常是64位浮点数,几乎等同于 np.float64。

NumPy和Python整数类型的行为在整数溢出方面存在显着差异,与 NumPy 不同,Python 的int 是灵活的。这意味着Python整数可以扩展以容纳任何整数并且不会溢出。
整数类型的机器限制
在这里插入图片描述
在这里插入图片描述
浮点类型的机器限制。
class finfo(object):
def _init(self, dtype):

在这里插入图片描述

3 时间日期和时间增量

3.1 datetime64 基础

在 numpy 中,我们很方便的将字符串转换成时间日期类型 datetime64(datetime 已被 python 包含的日期时间库所占用)。

datatime64是带单位的日期时间类型,其单位如下:
在这里插入图片描述
从字符串创建 datetime64 类型时,默认情况下,numpy 会根据字符串自动选择对应的单位
在这里插入图片描述
从字符串创建 datetime64 类型时,可以强制指定使用的单位。
在这里插入图片描述
由上例可以看出,2019-03 和 2019-03-01 所表示的其实是同一个时间。 事实上,如果两个 datetime64 对象具有不同的单位,它们可能仍然代表相同的时刻。并且从较大的单位(如月份)转换为较小的单位(如天数)是安全的。

从字符串创建 datetime64 数组时,如果单位不统一,则一律转化成其中最小的单位。

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

在这里插入图片描述

3.2 datetime64 和 timedelta64 运算

timedelta64 表示两个 datetime64 之间的差。timedelta64 也是带单位的,并且和相减运算中的两个 datetime64 中的较小的单位保持一致。

在这里插入图片描述
生成 timedelta64时,要注意年(‘Y’)和月(‘M’)这两个单位无法和其它单位进行运算(一年有几天?一个月有几个小时?这些都是不确定的)。

在这里插入图片描述

timedelta64 的运算。

在这里插入图片描述
numpy.datetime64 与 datetime.datetime 相互转换

在这里插入图片描述
datetime64 的应用

为了允许在只有一周中某些日子有效的上下文中使用日期时间,NumPy包含一组“busday”(工作日)功能。

numpy.busday_offset(dates, offsets, roll=‘raise’, weekmask=‘1111100’, holidays=None, busdaycal=None, out=None) First adjusts the date to fall on a valid day according to the roll rule, then applies offsets to the given dates counted in valid days.
参数roll:{‘raise’, ‘nat’, ‘forward’, ‘following’, ‘backward’, ‘preceding’, ‘modifiedfollowing’, ‘modifiedpreceding’}

‘raise’ means to raise an exception for an invalid day.
‘nat’ means to return a NaT (not-a-time) for an invalid day.
‘forward’ and ‘following’ mean to take the first valid day later in time.
‘backward’ and ‘preceding’ mean to take the first valid day earlier in time.

将指定的偏移量应用于工作日,单位天(‘D’)。计算下一个工作日,如果当前日期为非工作日,默认报错。可以指定 forward 或 backward 规则来避免报错。(一个是向前取第一个有效的工作日,一个是向后取第一个有效的工作日)

在这里插入图片描述
可以指定偏移量为 0 来获取当前日期向前或向后最近的工作日,当然,如果当前日期本身就是工作日
要注意!!一开始想不懂以为错了,后来明白forward向前就是向未来看,backward是向过去看

返回指定日期是否是工作日。
在这里插入图片描述
统计一个 datetime64[D] 数组中的工作日天数。
在这里插入图片描述
返回两个日期之间的工作日数量。
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据闲逛人

谢谢大嘎喔~ 开心就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值