gpt4 book ai didi

python - 计算系列中连续空格的数量

转载 作者:行者123 更新时间:2023-12-05 01:04:14 27 4
gpt4 key购买 nike

我有一个类似的系列:

import pandas as pd

ser = pd.Series([
'the quick brown fox',
'the quick pink fox',
'a quick brown fox',
'the jumpy brown fox ',
'the quick brown animal',
])

我想计算每个元素中连续空格的数量。所以我的预期输出是:

0    1
1 2
2 3
3 4
4 2
dtype: int64

因为第一行只包含一个连续的空格,第二行包含两个连续的空格(在thequick之间),第三行包含三个连续的空格(在thequick之间) brownfox),等等……

我知道 ser.str.count(' '),但这会给我空格的总数,即使它们不是连续的

最佳答案

您可以使用正则表达式提取所有连续空格(使用 str.extractall ),然后使用 str.len 获取长度并使用 GroupBy.max 找到每个初始行的最大长度:

(ser
.str.extractall('(\s+)')[0]
.str.len()
.groupby(level=0).max()
.reindex(ser.index, fill_value=0) # optional (see below)
)

注意。如果你有可能有没有空格的字符串并且你想得到 0,你需要 reindex .

输出:

0    1
1 2
2 3
3 4
4 2
Name: 0, dtype: int64

关于python - 计算系列中连续空格的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72477286/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com