比如,我有一个如下所示的Pandas系列(空表示缺少值),为了简单起见,我在这里使用整数索引,但实际上它是datatimeindex。
0,
1,5
2,3
3,
4,5
5,
6,30
7,5
8,5
9,31
10,31
11,
12,5
13,5
我想填充值5,但前提是前一个邻居属于特定的值列表,例如[30,31,32]。上例的输出应为:
0,
1,5
2,3
3,
4,5
5,
6,30
7,30
8,30
9,31
10,31
11,
12,5
13,5
我怎样才能做到这一点?
这是一个我正在努力完成的数据清理任务。目标是纠正受先前事件影响的天气状况的错误编码。
6条答案
按热度按时间xt0899hw1#
使用带有偏移的遮罩可以实现此功能
jrcvhitl2#
如果我没理解错的话,这是可行的:
这应返回:
编辑:已更改以删除for循环并使用矢量化。
wwtsj6pe3#
下面是一个不需要循环(但会生成几个中间列)的繁琐解决方案
而且只需要删除一些列:)
nnt7mjpx4#
这是一个棘手的问题。
假设您的示例系列可以构建为:
您可以:
p4tfgftt5#
另一种可能的解决方案:
输出:
7rfyedvj6#
我想出了一个解决方案,很高兴听到你的想法。我还没有尝试过其他解决方案张贴在这里。