Python 如何在时间序列数据中引入缺失值
我是python新手,也是这个网站的新手。我的同事和我正在研究一个时间序列数据集。我们希望向数据集引入一些缺失值,然后使用一些技术来填充缺失值,以查看这些技术在数据插补任务中的表现。目前我们面临的挑战是如何连续而不是随机地向数据集引入缺失值。例如,我们希望用NAN替换一段时间内的数据,例如,连续3天。如果有人能为我们指明正确的方向,我将不胜感激。我们正在使用pythonPython 如何在时间序列数据中引入缺失值,python,dataframe,time,time-series,nan,Python,Dataframe,Time,Time Series,Nan,我是python新手,也是这个网站的新手。我的同事和我正在研究一个时间序列数据集。我们希望向数据集引入一些缺失值,然后使用一些技术来填充缺失值,以查看这些技术在数据插补任务中的表现。目前我们面临的挑战是如何连续而不是随机地向数据集引入缺失值。例如,我们希望用NAN替换一段时间内的数据,例如,连续3天。如果有人能为我们指明正确的方向,我将不胜感激。我们正在使用python 有一种填充NAN的方法 dataframe['name_of_column'].fillna('value') 请参见下面的
有一种填充NAN的方法
dataframe['name_of_column'].fillna('value')
请参见下面的设置缺失数据功能:
将numpy作为np导入
np.设置打印选项精度=3,线宽=1000
def set_缺失_数据、缺失_位置、缺失_长度:
对于缺失_位置的i:
数据[i:i+缺失的_长度]=np.nan
np.random.0
n_数据_点=np.random.randint40,50
data=np.random.normalsize=[n\u数据\u点]
n_缺失=np.random.randint3,6
缺失长度=3
缺少位置=np.random.choice
n_数据_点-缺少长度,
大小=n_缺失,
替换=错误
打印数据
设置缺少数据、缺少位置、缺少长度
打印数据
控制台输出:
[ 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]
非常感谢阿洛娜回答我的问题。我很欣赏这一点。在这种情况下,我并不是试图填充缺失的值,而是试图将一些缺失的值引入到我的时间序列数据集中。例如,我的数据集包含4个月内每小时记录的数据,我希望用NAN值替换连续3天。我怎样才能做到这一点亲爱的@lilprocess你必须编辑你的主要帖子,并添加你的数据示例。那我们就可以给你提建议了。还有你试图解决问题的代码的和平。欢迎来到Stackoverflow。好的,我就这么做。谢谢杰克,非常感谢你的帮助。我试图包含我的示例数据集,以帮助您准确理解我的意思。嗨,杰克,我的数据示例可以在这里找到:Python程序中的数据格式是什么?numpy阵列?CSV文件?纯文本文件?或者你的数据只有PDF格式?数据在csv文件中。为了让我的问题更清楚,这里有一个链接,指向我目前正在处理的数据样本。我希望能够连续使用NaN替换值,即连续3小时的值应替换为NaN