首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在时间序列数据中引入缺失值

如何在时间序列数据中引入缺失值
EN

Stack Overflow用户
提问于 2020-11-17 21:38:47
回答 2查看 68关注 0票数 0

我是python的新手,也是这个网站的新手。我和我的同事正在处理一个时间序列数据集。我们希望向数据集引入一些缺失值,然后使用一些技术来填充缺失值,以查看这些技术在数据填充任务中的执行情况。我们目前面临的挑战是如何以连续的方式向数据集引入缺失值,而不仅仅是随机的。例如,我们希望将一段时间内的数据替换为NaNs,例如,连续3天。如果有人能为我们指出如何完成这件事的正确方向,我将非常感激。我们正在使用python。

Here is my sample data

EN

回答 2

Stack Overflow用户

发布于 2020-11-17 21:43:31

有一种填充NaNs的方法

代码语言:javascript
复制
dataframe['name_of_column'].fillna('value')
票数 0
EN

Stack Overflow用户

发布于 2020-11-17 22:02:52

参见下面的set_missing_data函数:

代码语言:javascript
复制
import numpy as np
np.set_printoptions(precision=3, linewidth=1000)

def set_missing_data(data, missing_locations, missing_length):
    for i in missing_locations:
        data[i:i+missing_length] = np.nan


np.random.seed(0)
n_data_points = np.random.randint(40, 50)
data = np.random.normal(size=[n_data_points])
n_missing = np.random.randint(3, 6)
missing_length = 3
missing_locations = np.random.choice(
    n_data_points - missing_length,
    size=n_missing,
    replace=False
)
print(data)
set_missing_data(data, missing_locations, missing_length)
print(data)

控制台输出:

代码语言:javascript
复制
[ 0.118  0.114  0.37   1.041 -1.517 -0.866 -0.055 -0.107  1.365 -0.098 -2.426 -0.453 -0.471  0.973 -1.278  1.437 -0.078  1.09   0.097  1.419  1.168  0.947  1.085  2.382 -0.406  0.266 -1.356 -0.114 -0.844  0.706 -0.399 -0.827 -0.416 -0.525  0.813 -0.229  2.162 -0.957  0.067  0.206 -0.457 -1.06   0.615  1.43  -0.212]
[ 0.118    nan    nan    nan -1.517 -0.866 -0.055 -0.107    nan    nan    nan -0.453 -0.471  0.973 -1.278  1.437 -0.078  1.09   0.097    nan    nan    nan  1.085  2.382 -0.406  0.266 -1.356 -0.114 -0.844  0.706 -0.399 -0.827 -0.416 -0.525  0.813 -0.229  2.162 -0.957  0.067  0.206 -0.457 -1.06   0.615  1.43  -0.212]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64876372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档