zoukankan      html  css  js  c++  java
  • Python学习笔记:pandas.Series.str.split分列

    一、字符串分割split

    split() 方法通过指定分隔符对字符串进行切分,返回分割后的字符串列表。

    使用语法为:

    str.split(str=" ", maxsplit=string.count(str))
    

    参数:

    -- str 分隔符 默认为所有的空字符 包括空格、换行符、制表符等
    -- maxsplit 分割次数 默认-1 即分割所有
    

    实操:

    str = "abc ggg rrr"
    str.split() # ['abc', 'ggg', 'rrr']
    str.split(" ",maxsplit=1) # ['abc', 'ggg rrr']
    

    二、pandas.str.split分列

    1.str.split()

    使用语法为:

    Series.str.split(pat=None, n=-1, expand=False)
    -- pat 分隔符
    -- n 指定分割次数 -1代表全部
    -- expand=True 分列 返回多列
    

    指定 expand=True 进行分列,返回 DataFrame

    import pandas as pd
    df = pd.DataFrame({'id':[1, 2],
                       'code':['A,B,C', 'B,C']})
    
    # 按逗号分割
    df.code.str.split(',')
    '''
    0    [A, B, C]
    1       [B, C]
    Name: code, dtype: object
    '''
    
    # 自动分列
    df.code.str.split(',', expand=True)
    '''
       0  1     2
    0  A  B     C
    1  B  C  None
    '''
    
    # 指定参数n 分割次数
    df.code.str.split(',', expand=True, n=1)
    '''
       0    1
    0  A  B,C
    1  B    C
    '''
    

    支持正则表达式分割符

    import pandas as pd
    s = pd.Series(["1+1=2"])
    s.str.split(r"+|=", expand=True)
    '''
       0  1  2
    0  1  1  2
    '''
    

    2.str.rsplit

    从右往左寻找分列依据,使用语法类似 split

    df['code'].str.rsplit(',', expand=True, n=1)
    '''
         0  1
    0  A,B  C
    1    B  C
    '''
    

    参考链接:Python split()方法

    参考链接:pandas的分列操作str.split()

    参考链接:pandas的字符串的分割之str.split()

    参考链接:pandas.Series.str.split

  • 相关阅读:
    OC之class与metaclass
    call vs apply
    ABI
    WEB服务器的四种类型
    情绪控制
    位置无关代码
    Finding Leaks Using Instruments
    Mac之TwoLevel Namespace
    Apache的几个特性
    Mac之debuging symbol
  • 原文地址:https://www.cnblogs.com/hider/p/15273216.html
Copyright © 2011-2022 走看看