- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关闭。这个问题需要更多focused .它目前不接受答案。
想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .
去年关闭。
Improve this question
我的数据框看起来像这样;
df = pd.DataFrame({'Col1':[0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0]
,'Col2':[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]})
df = pd.DataFrame({'Col1':[0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0]
,'Col2':[0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1]})
最佳答案
方法#1:一个基于 NumPy 的 1D convolution
——
N = 4 # window size
K = np.ones(N,dtype=bool)
df['Col2'] = (np.convolve(df.Col1,K)[:-N+1]>0).view('i1')
df['Col2'] = (np.convolve(df.Col1,[1]*N)[:-N+1]>0).view('i1')
SciPy's binary_dilation
——
from scipy.ndimage.morphology import binary_dilation
N = 4 # window size
K = np.ones(N,dtype=bool)
df['Col2'] = binary_dilation(df.Col1,K,origin=-(N//2)).view('i1')
from skimage.util.shape import view_as_windows
N = 4 # window size
mask = df.Col1.values==1
w = view_as_windows(mask,N)
idx = len(df)-(N-mask[-N:].argmax())
if mask[-N:].any():
mask[idx:idx+N-1] = 1
w[mask[:-N+1]] = 1
df['Col2'] = mask.view('i1')
10,000x
放大——
In [67]: df = pd.DataFrame({'Col1':[0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0]
...: ,'Col2':[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]})
...:
...: df = pd.concat([df]*10000)
...: df.index = range(len(df.index))
# @jezrael's soln
In [68]: %%timeit
...: n = 3
...: df['Col2_1'] = df['Col1'].where(df['Col1'].eq(1)).ffill(limit=n).fillna(df['Col1']).astype(int)
5.15 ms ± 25.3 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
# App-1 from this post
In [72]: %%timeit
...: N = 4 # window size
...: K = np.ones(N,dtype=bool)
...: df['Col2_2'] = (np.convolve(df.Col1,K)[:-N+1]>0).view('i1')
1.41 ms ± 20.9 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
# App-2 from this post
In [70]: %%timeit
...: N = 4 # window size
...: K = np.ones(N,dtype=bool)
...: df['Col2_3'] = binary_dilation(df.Col1,K,origin=-(N//2)).view('i1')
2.92 ms ± 13.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
# App-3 from this post
In [35]: %%timeit
...: N = 4 # window size
...: mask = df.Col1.values==1
...: w = view_as_windows(mask,N)
...: idx = len(df)-(N-mask[-N:].argmax())
...: if mask[-N:].any():
...: mask[idx:idx+N-1] = 1
...: w[mask[:-N+1]] = 1
...: df['Col2_4'] = mask.view('i1')
1.22 ms ± 3.02 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
# @yatu's soln
In [71]: %%timeit
...: n = 4
...: ix = (np.flatnonzero(df.Col1 == 1) + np.arange(n)[:,None]).ravel('F')
...: df.loc[ix, 'Col2_5'] = 1
7.55 ms ± 32 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
关于python - 在条件下向前填充列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60801543/
我正在使用以下键存储哈希集:measurement: , f.e. measurement:1482236501103 ,然后在稍后我想传递某个时间戳并获取从给定时间戳到结束的所有记录。但由于 Red
有 Home.vue 和 Statistics.vue 页面。 Home.vue 渲染 TableFields.vue 组件。在 Home.vue 中,有一些字段编号,在页面加载时设置了初始值“3”。
Spring MVC ModelAndView forward 不工作。下面的代码没有将请求转发到 Name.jsp。非常感谢您的帮助。 package main.java.com.mkyong.co
我有一个这样的值列表, lst = [1, 2, 3, 4, 5, 6, 7, 8] 期望输出 : window size = 3 1 # first element in the list
我正在尝试将硬币类移动到按下键时的适当元素。但是,如果元素的名称相似,我不确定如何正确导航 DOM 树。另外,我根据按下键(e.which)向上/向下移动,但如果硬币在某些地方,我需要旋转回到顶部或底
我需要制作一个不循环的幻灯片,但实际上在幻灯片之间弹跳:例如,如果我有 3 张幻灯片,我希望幻灯片顺序为: 1 -> 2 -> 3 -> 2 -> 1 -> 2 ... 我想出了这个解决方案(使用 j
我只想获取下一次迭代中的元素(使用基于范围的 for 循环) 我试过类似的东西: *(&x+1) 应该表示“i+1”,如果“i”在这里是一个迭代器的话 bool factorChain(std::ve
我有一个 slider ,其可能值在 0 到 1 之间,步长为 0.1 例如,如果我在起点移动 slider ,动画将从 (0%) 开始,如果我将 slider 移动到 0.5 ( 50%) 表示将从
这个问题在这里已经有了答案: python time subtraction (1 个回答) 关闭 9 年前。 我想实现的很简单: time.time() 不太可读。如何获得: 例如 time.ti
如何在 html 中显示此 ► 播放(向前)或向右实心箭头符号? 最佳答案 是的,►,但它在所有浏览器中看起来可能不一样。 关于html - 如何在 html 中显示 ► 播放(向前)或向右实心箭头符
我正在开发 wpf c# 应用程序,我需要检测用户何时按下“/ ” 但我找不到“/ ” e.Key,我看到有Key.OemBackslash和类似的东西,但我找不到“/”(正斜杠)的正确事件.....
我有两个数据集,(dt1) 一个带有“开始”日期,每个 ID 最多两个条目(因为这些是 L 或 R 眼手术的条目)和一个 (dt2) 第二个数据库,其中包含多个日期之前和之后开始日期。这些不仅限于眼科
我有使用 3 个欧拉 Angular (aRotX、aRotY、aRotZ)在其位置(aX、aY、aZ)显示模型的代码: var m = mat4.create(); mat4.identity(m)
我需要从方向 vector (vForward) 获取旋转矩阵 我还有 vRight 和 vUp vector 。所有这些 vector 都是单位 vector 。 我只需要得到旋转矩阵。 要获得仅在
我是一名优秀的程序员,十分优秀!