【发布时间】:2022-01-13 12:19:16
【问题描述】:
我的初始数据框如下所示:
import pandas as pd
df = pd.DataFrame({
"id":[1,1,1,1,2,2],
"time": [1,2,3,4,5,6],
"x": [1,2,3,4,9,11 ],
"y": [5,6,7,8,3,2],
})
所以我有两个 ID(1 和 2)或两个不同的时间序列。 现在我想为每个 ID 的 x 和 y 值添加一些随机噪声,并将其保存为初始 df 中的新 ID(具有相同长度):
# Noise
import numpy as np
noise = np.random.normal(0,1,#number of elements you get in array noise)
new_signal = original + noise
# https://stackoverflow.com/questions/14058340/adding-noise-to-a-signal-in-python
因此生成的 df 将如下所示(这些值只是结果输出的一个示例):
df = pd.DataFrame({
"id":[1,1,1,1,2,2 ,3,3,3,3, 4,4],
"time": [1,2,3,4,5,6 ,7,8,9,10, 11,12 ],
"x": [1,2,3,4,9,11, 1.0005,2.3256,3.1256,4.5647, 9.6514,11.4567 ],
"y": [5,6,7,8,3,2, 5.0505,6.0276,7.1056,8.5607, 3.6014,2.4567],
})
如您所见:添加了 2 个新 ID(3 和 4)以及带有噪声的值。
目前我正在尝试使用不同的循环,但它似乎相当复杂。有什么建议吗?
额外问题:如何不只是复制,而是将其添加 3 次。
【问题讨论】:
标签: python pandas dataframe numpy