嗨喽! 大家好,我是“流水不争先,争得滔滔不绝”的翀,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] 数组中的工作日天数。
返回两个日期之间的工作日数量。