我是python的新手,也是这个网站的新手。我和我的同事正在处理一个时间序列数据集。我们希望向数据集引入一些缺失值,然后使用一些技术来填充缺失值,以查看这些技术在数据填充任务中的执行情况。我们目前面临的挑战是如何以连续的方式向数据集引入缺失值,而不仅仅是随机的。例如,我们希望将一段时间内的数据替换为NaNs,例如,连续3天。如果有人能为我们指出如何完成这件事的正确方向,我将非常感激。我们正在使用python。
发布于 2020-11-17 21:43:31
有一种填充NaNs的方法
dataframe['name_of_column'].fillna('value')发布于 2020-11-17 22:02:52
参见下面的set_missing_data函数:
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)控制台输出:
[ 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]https://stackoverflow.com/questions/64876372
复制相似问题