Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫:扩展遮罩以设置区域_Python_Pandas - Fatal编程技术网

Python 熊猫:扩展遮罩以设置区域

Python 熊猫:扩展遮罩以设置区域,python,pandas,Python,Pandas,我在“python熊猫”中有一个布尔掩码,我想在其中加宽(涂抹?)每个“真”样本。假设我有以下几点: import pandas data = pandas.DataFrame({'col1': [False, True, False, False, False, False, True, False, False, False]}) 所以“真实”面具看起来像: mask = data[data.col1 == True] >>> mask col1 1 True 6

我在“python熊猫”中有一个布尔掩码,我想在其中加宽(涂抹?)每个“真”样本。假设我有以下几点:

import pandas
data = pandas.DataFrame({'col1': [False, True, False, False, False, False, True, False, False, False]})
所以“真实”面具看起来像:

mask = data[data.col1 == True]
>>> mask
   col1
1  True
6  True
我希望:

>>> mask
   col1
0  True
1  True
2  True
5  True
6  True
7  True
如何将相邻索引设置为(比如)1到“True”的距离?我可以写一个for循环,什么都没有。但这感觉不对

暗示?提示?关键词


谢谢

一种方法是使用
rolling
max

n=1
window = n*2 + 1
data.col1.rolling(window, center=True, min_periods=1).max().astype(bool)
输出:

0     True
1     True
2     True
3    False
4    False
5     True
6     True
7     True
8    False
9    False
Name: col1, dtype: bool

print(mask)

   col1
0  True
1  True
2  True
5  True
6  True
7  True

真聪明。:)@谢谢。哇,很酷,总是学习新东西。(您在代码中留下了一个打字错误(astype))谢谢。修正了打字错误。再次感谢你。精彩的解决方案!