我有一个以下的框架:
| 指数|值|
| --|--|
| 1 |没有一|
| 2 |一|
| 3 |没有一|
| 4 |一|
| 5 |B|
| 6 |B|
| 7 |没有一|
| 8 |一|
| 9 |一|
| 10 |B|
我们的想法是在A和B之间填充None,这样列中就没有连续的A或B。
期望输出
| 指数|值|
| --|--|
| 1 |没有一|
| 2 |一|
| 3 |没有一|
| 4 |没有一|
| 5 |B|
| 6 |没有一|
| 7 |没有一|
| 8 |一|
| 9 |没有一|
| 10 |B|
这可以很容易地通过循环来完成,但由于我使用的是pandas和numpy,我希望避免使用循环方法。
1条答案
按热度按时间d6kp6zgx1#
你可以
ffill
来向前传播非None,然后shift
,只保留与布尔索引的新系列不相同的值:字符串
mask
:型
输出量:
型
中间体:
型