假设我有一个看起来像这样的数据框,我想确保列'T'中的所有值都在129和130之间。即当一个值大于130时,它应该被减去,直到它位于129和之间。 130.同样,如果该值小于129,我想继续加1,直到该值介于129和130之间。
T
0 129.3
1 129.1
2 128.9
3 128.9
4 128.9
5 129.6
6 129.4
7 129.2
8 130.1
9 129.8
10 129.7
11 130.4
12 130.7
13 127.9
14 130.4
15 130.0
16 129.0
17 128.5
18 128.7
19 129.5
20 129.9
21 130.1
22 129.6
23 129.3
24 128.7
25 128.6
26 128.8
27 129.3
28 129.6
29 129.2
30 129.1
31 129.0
32 128.7
33 128.6
34 128.8
35 129.1
36 129.5
37 130.0
38 129.4
39 129.3
出于某种原因,以下代码似乎不起作用:
for i in df['T']:
if i<129:
while i<129:
i+=1
if i>130:
while i>130:
i-=1
答案 0 :(得分:2)
如果您的结果与添加或减去1:
的值相同import numpy as np
df['T'] = df['T'] % 1 + 129
如果您只想将值绑定在129到130之间,请使用:
df['T'] = df['T'].clip(129, 130)