如何使用 'variable' 分隔符将字符串列拆分为两列?

How to split a string column into two columns with a 'variable' delimiter?

我有一个从 PDF 数据 table 中提取的粗略 df,它由包含字符串的单个列组成。列中的每个条目都采用以下形式:

Mayor ............... Paul Jones
Senator ................. Billy Twister
Congress Rep. .......... Chris Rock
Chief of Staff ....... Tony Allen

我想使用 string.split(pat=".") 将这些字符串分成两列,用于 TitleName 使用句点字符串。但是,列中的每个条目的句点字符串定界符的长度不同。正如预期的那样,例如,如果我使用 pat="."pat=".......",我最终会得到不一致的拆分。

我的目标是实现一种方法,使分隔符能够处理给定最小和最大长度的一系列句点字符串长度。我用谷歌搜索了这个问题,但没能找到直接的答案。这可以实现吗?

Series.str.split 与正则表达式 \s+\.+\s+ 一起使用,它按 1+ 个空格、1+ 个句点、1+ 个空格分隔:

df = pd.DataFrame({'A': ['Mayor ............... Paul Jones', 'Senator ................. Billy Twister', 'Congress Rep. .......... Chris Rock', 'Chief of Staff ....... Tony Allen']})

df[['Title', 'Name']] = df['A'].str.split('\s+\.+\s+', expand=True)

#                                          A           Title           Name
# 0         Mayor ............... Paul Jones           Mayor     Paul Jones
# 1  Senator ................. Billy Twister         Senator  Billy Twister
# 2      Congress Rep. .......... Chris Rock   Congress Rep.     Chris Rock
# 3        Chief of Staff ....... Tony Allen  Chief of Staff     Tony Allen