2014-02-24 98 views
4

我想拆分一个pandas.Series第一个只有一块空白。熊猫系列拆分n次

pd.Series.str.split提供了一个n参数,根据内联帮助类型的声音,它应该指定要执行的分割次数。 (它说在注释中Both 0 and -1 will be interpreted as return all splits,但实际上并没有指明它做什么!)

在任何情况下,它不会出现工作:

>>> x = pd.DataFrame(['Split Once', 'Split Once As Well!']) 
>>> x[0].str.split(n=1) 
0    [Split, Once] 
1 [Split, Once, As, Well!] 

回答

6

这似乎是一个错误;你需要指定pat为它,所以它尊重n值:

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

这些源代码这表明它忽略n如果patNone行:

# 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

+0

是的!此外,您不必命名'pat'参数,您可以先放置它。 – LondonRob

+2

谢谢!在主站https://github.com/pydata/pandas/issues/6466中修复 –