Python 如何将数据帧分组到包含NAs的行,并为这些组分配索引?

Python 如何将数据帧分组到包含NAs的行,并为这些组分配索引?,python,pandas,Python,Pandas,我想下面的例子可以解释我的问题。 结果应该如下所示: | datetime value block_nr | +----------------------------------+ | …15:00 22.5 1 | | …15:05 22.0 1 | | …15:10 22.5 1 | | …15:15 NA 0 | |

我想下面的例子可以解释我的问题。 结果应该如下所示:

|   datetime   value    block_nr   |
+----------------------------------+
|   …15:00     22.5            1   |
|   …15:05     22.0            1   |
|   …15:10     22.5            1   |
|   …15:15     NA              0   |
|   …15:20     NA              0   |
|   …15:25     23.0            2   |
|   …15:30     21.0            2   |
|   …15:35     21.5            2   |
|   …15:40     NA              0   |
|   …15:45     NA              0   |
|   …15:50     NA              0   |
|   …15:55     21.4            3   |
+----------------------------------+```

与测试一起使用重复值的非缺失值通过与
s
链接的移位值进行比较,并且:

与测试一起使用重复值的非缺失值通过与
s
链接的移位值进行比较,并且:

s = df['value'].notna()
df['new'] = np.where(s, (s.ne(s.shift()) & s).cumsum(), 0)
print (df)
   datetime  value  block_nr  new
0     15:00   22.5         1    1
1     15:05   22.0         1    1
2     15:10   22.5         1    1
3     15:15    NaN         0    0
4     15:20    NaN         0    0
5     15:25   23.0         2    2
6     15:30   21.0         2    2
7     15:35   21.5         2    2
8     15:40    NaN         0    0
9     15:45    NaN         0    0
10    15:50    NaN         0    0
11    15:55   21.4         3    3