Pandas Series 分割 n 次

4
我想要将一个 pandas.Series 按照第一个空格分割。 pd.Series.str.split 提供了一个 n 参数,根据内联帮助的描述,它应该指定要执行多少次拆分。(注释中说:“0 和 -1 都将被解释为返回所有拆分”,但并没有实际说明它的作用!)
无论如何,它似乎不起作用:
>>> x = pd.DataFrame(['Split Once', 'Split Once As Well!'])
>>> x[0].str.split(n=1)
0               [Split, Once]
1    [Split, Once, As, Well!]
1个回答

6

这似乎是一个 bug;你需要指定 pat,以便它尊重 n 的值:

x[0].str.split( n=1, pat=' ' )

以下是源代码中显示如果patNone,则忽略n的代码行:

# pandas/core/strings.py
def str_split(arr, pat=None, n=None):
    if pat is None:
        if n is None or n == 0:
            n = -1
        f = lambda x: x.split()
...

编辑:在GitHub上报告


是的!此外,您不必命名“pat”参数,只需将其放在第一位即可。 - LondonRob

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接