使用正则表达式映射系列时如何修复 np.cumsum 函数
Posted
技术标签:
【中文标题】使用正则表达式映射系列时如何修复 np.cumsum 函数【英文标题】:How to fix the np.cumsum function when mapping a series with regex 【发布时间】:2019-09-14 07:13:35 【问题描述】:我有一个类似的列表:
**x**
Chapter 1
some text
Chapter 2
Chapter 3
Chapter 4
Chapter 5"
我寻找的输出是一个类似的系列:
1
1
2
3
4
5
我写了这段代码
pattern = r"chapter \d"
x.map(lambda x: np.cumsum(bool(re.search(pattern,str(x), flags=re.I))))
它给了我输出:
[1]
[0]
[1]
[1]
[1]
[1]
你们能帮我修复这个代码吗?您还可以提出更好的解决方案。谢谢
【问题讨论】:
我确实分两步修复了我的代码:pattern = r"chapter \d" y = x.map(lambda x: bool(re.search(pattern,str(x), flags=re.I))) z = np.cumsum(y)
但仍然无法弄清楚为什么单班轮不起作用
如果您决定使用,您可以在解决方案中添加自己的答案。
【参考方案1】:
感谢大家帮助我修复我的代码。我确实看到了使用 ffill 的替代解决方案,这很棒。
我在下面使用了 2 线解决方案:
pattern = r"chapter \d"
y = x.map(lambda x: bool(re.search(pattern,str(x), flags=re.I)))
z = np.cumsum(y)
【讨论】:
以上是关于使用正则表达式映射系列时如何修复 np.cumsum 函数的主要内容,如果未能解决你的问题,请参考以下文章