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