在“ ||”上分割在熊猫系列

时间:2019-02-21 10:27:45

标签: python pandas dataframe split series

我正在尝试分割||

ser=pd.Series(['there a guy || I will have a bite || no can do','I can do || more'])
ser.str.split('||')

**我应该以[['有一个人','我要咬一口','不能做'],['我可以做','更多']]作为输出 但我明白了

0    [, t, h, e, r, e, s,  , a,  , g, u, y,  , |, |...
1    [, I,  , c, a, n,  , d, o,  , |, |,  , m, o, r...
dtype: object

3 个答案:

答案 0 :(得分:3)

双精度||的处理类似于正则表达式,因此需要通过\对此值进行转义:

a = ser.str.split('\|\|')
print (a)
0    [there a guy ,  I will have a bite ,  no can do]
1                                  [I can do ,  more]
dtype: object

答案 1 :(得分:1)

如果要多列:

<converters:NullBoolConverter
        x:Key="NullBoolConverter"/>

答案 2 :(得分:1)

为避免转义,我建议改用字符类:

ser.str.split(r'[|]{2}')

0    [there a guy ,  I will have a bite ,  no can do]
1                                  [I can do ,  more]
dtype: object

或者,也不必逃避自己,因为re.escape可以为您做到这一点。

import re
ser.str.split(re.escape('||'))

0    [there a guy ,  I will have a bite ,  no can do]
1                                  [I can do ,  more]