炸鸡人博客 基本上无害
Posts with the tag numpy:

Numpy 系列:统计序列里零值连续出现的次数

需求

以前处理功率时间序列时经常遇到一大段时间里功率值虽然没有缺失,但全是零的异常情况,为了找出这些连续为零的时段,当时设计了一个统计序列里零值连续出现次数的函数,效果如下图所示:

goal

输入序列是

series = np.array([0, 0, 1, 2, 1, 0, 0, 0, 0, 1, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 3, 4, 3, 0])

其中有四段零值,长度依次为 2、4、6、1。输出序列与输入序列等长,输入序列中非零位置的数值为零,零值位置数值为零值连续出现的次数。

Numpy 系列:random 模块的变化

前言

这几天要用 NumPy 生成随机数,所以去查了一下 np.random 模块的官方文档,却惊讶地发现里面介绍的用法跟我的记忆有很大出入:例如以前用 np.random.rand 便能生成 [0, 1) 之间均匀分布的随机数,现在文档里记载的却是面向对象风格的写法(创建随机数生成器再调用方法……)。调查一番后发现原来这一改动发生于 NumPy 1.17 版本(2020 年 1 月),并且网上对此的中文介绍也比较少,所以现撰文简单介绍一下该模块在改动前后的两套用法。

NumPy 系列:缺测值处理

现实中观测的数据或多或少会有缺失的部分,通常称为缺测值(missing value)。NumPy 因为设计上的问题,不能像 R 和 NCL 那样原生支持缺测类型,而是有两种处理缺测的实现:NaN 和 masked array。下面便来依次介绍它们。代码基于 NumPy 1.20.1。