基于列枚举数据框

我正在处理一个时间序列数据帧,它看起来像这样,除了超过数千行。我想创建一个新列,枚举具有相同“符号”值的行块。即第 0 行将是 0,第 1 行到第 23 行将是 1,第 24 行到第 30 行将是 2 等等......(时间顺序很重要)实现这一点的最pythonic 方法是什么?先感谢您


    Date       sign

0   2011-01-27  1

1   2011-01-28  -1

2   2011-01-31  -1

3   2011-02-01  -1

4   2011-02-02  -1

5   2011-02-07  -1

6   2011-02-08  -1

7   2011-02-09  -1

8   2011-02-10  -1

9   2011-02-11  -1

10  2011-02-14  -1

11  2011-02-15  -1

12  2011-02-16  -1

13  2011-02-17  -1

14  2011-02-18  -1

15  2011-02-21  -1

16  2011-02-22  -1

17  2011-02-23  -1

18  2011-02-24  -1

19  2011-02-25  -1

20  2011-02-28  -1

21  2011-03-01  -1

22  2011-03-02  -1

23  2011-03-03  -1

24  2011-03-04  1

25  2011-03-07  1

26  2011-03-08  1

27  2011-03-09  1

28  2011-03-10  1

29  2011-03-11  1

30  2011-03-14  1

31  2011-03-15  -1

32  2011-03-16  -1

33  2011-03-17  -1

34  2011-03-18  -1

35  2011-03-21  -1

36  2011-03-22  -1

37  2011-03-23  -1

38  2011-03-24  -1

39  2011-03-25  -1

40  2011-03-28  -1

41  2011-03-29  1

42  2011-03-30  1



偶然的你
浏览 193回答 2
2回答

哆啦的时光机

您可以使用以下方法获取cumsum符号更改的位置diff:df['new_column'] = (df.sign.diff()!=0).cumsum()-1>>> df          Date  sign  new_column0   2011-01-27     1      01   2011-01-28    -1      12   2011-01-31    -1      13   2011-02-01    -1      14   2011-02-02    -1      15   2011-02-07    -1      16   2011-02-08    -1      17   2011-02-09    -1      18   2011-02-10    -1      19   2011-02-11    -1      110  2011-02-14    -1      111  2011-02-15    -1      112  2011-02-16    -1      113  2011-02-17    -1      114  2011-02-18    -1      115  2011-02-21    -1      116  2011-02-22    -1      117  2011-02-23    -1      118  2011-02-24    -1      119  2011-02-25    -1      120  2011-02-28    -1      121  2011-03-01    -1      122  2011-03-02    -1      123  2011-03-03    -1      124  2011-03-04     1      225  2011-03-07     1      226  2011-03-08     1      227  2011-03-09     1      228  2011-03-10     1      229  2011-03-11     1      230  2011-03-14     1      231  2011-03-15    -1      332  2011-03-16    -1      333  2011-03-17    -1      334  2011-03-18    -1      335  2011-03-21    -1      336  2011-03-22    -1      337  2011-03-23    -1      338  2011-03-24    -1      339  2011-03-25    -1      340  2011-03-28    -1      341  2011-03-29     1      442  2011-03-30     1      4
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python