我有与此数据集相似的数据。
data = pd.DataFrame([])
data["time"] = range(20)
data["id"] = [1]*8 + [2]*12
data["x"] = [0, .53, 1.06, 1.59, 2.12, 2.65, .2, .73, .4, 1, 1.6, 2.2, 2.8, 3.4, .2, .8, 1.4, 2, 2.6, 3]
data["x_desiderated"] = [0, .53, 1.06, 1.59, 2.12, 2.65, 3.18, 3.71, .4, 1, 1.6, 2.2, 2.8, 3.4, 4, 4.6, 5.2, 5.8, 6.4, 7]
time id x x_desiderated
0 0 1 0.00 0.00
1 1 1 0.53 0.53
2 2 1 1.06 1.06
3 3 1 1.59 1.59
4 4 1 2.12 2.12
5 5 1 2.65 2.65
6 6 1 0.20 3.18
7 7 1 0.73 3.71
8 8 2 0.40 0.40
9 9 2 1.00 1.00
10 10 2 1.60 1.60
11 11 2 2.20 2.20
12 12 2 2.80 2.80
13 13 2 3.40 3.40
14 14 2 0.20 4.00
15 15 2 0.80 4.60
16 16 2 1.40 5.20
17 17 2 2.00 5.80
18 18 2 2.60 6.40
19 19 2 3.00 7.00
问题在于,对于每个id,x应该随时间增加几乎恒定的增量。在此玩具示例中,对于id = 1,x应该增加0.53;对于id = 2,x应该增加0.6。 我有时会随意重置。 我想创建一个新的x变量,可以在其中模拟x的正常行为。
答案 0 :(得分:0)
你的意思是这样吗?
delta = 0.5
data["x_delta"] = data["id"] * delta
# or data["x_delta"] = list_with_delta_vallues
data["new_x"] = data["x"] + data["x_delta"]