我有这个数据:
data = pd.DataFrame([0.0, 0.1, 0.2, 0.3, 1.5, 2.7, 3.8, 0.0, 0.3, 0.8, 1.2, 2.5, 3.5, 0.0, 0.5, 1.0, 3.0, 0.0, 1.5, 2.6, 3.6, 4.0])
我有不止一个专栏,但我正在提供我感兴趣的专栏。
我需要添加另一个名为"迭代"的列,它应该是这样的:
data = pd.DataFrame([1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4])
换句话说,每一次行+1和行之间的差小于零,迭代行就应该增加一个单位。例如:0.0-3.8=-3.8。在这一点上,迭代应该增加一个单位。
先尝试diff
,然后尝试cumsum
out = (data[0].diff()<0).cumsum()+1
Out[24]:
0 1
1 1
2 1
3 1
4 1
5 1
6 1
7 2
8 2
9 2
10 2
11 2
12 2
13 3
14 3
15 3
16 3
17 4
18 4
19 4
20 4
21 4
Name: 0, dtype: int32