str

Series.str是处理字符串列的方法, 拥有的方法与python中原有的字符串str对象的方法非常类似, 只是个别的方法不同, 下面记录一些常用的重要方法.

Series.str.cat

Series.str.cat(others=None, sep=None, na_rep=None, join=None)

作用是将两个Series对应位置进行合并, 要求两者的长度相同.

  • others: Series, Index, DataFrame, np.ndarrary or list-like

    • 给出的类列表对象长度应该与调用者的长度相同, 然后将两个列表对应索引位置的字符串合并, 组成新的Series

    • 如果没有给出others, 则将调用者的所有字符串合并在一起, 返回一个字符串

      >>> s = pd.Series(['a', 'b', np.nan, 'd'])
      >>> s.str.cat(sep=' ')
      'a b d'
  • sep: str, default ‘’

    • 分隔符

  • na_rep: str or None, default None

    • 用来代替missing values的字符

    • 如果是None, 将missing value从最终结果中移除

  • join: {‘left’, ‘right’, ‘outer’, ‘inner’}, default None

    • 需要调用者与传入的对象都是拥有indexSeries, 然后根据index进行merge操作

例子:

Series.str.split / Series.str.rsplit

对Series中的每个字符串按指定的分割符进行分割, 注意可以直接扩展成DataFrame.

split/rsplit一个是从左向右, 一个从右向左分割.

  • pat: str, optional

    • 分割符, 如果不指定, 则默认为whitespace

  • n: int, default -1 (all)

    • 限定每个元素划分的次数, 即最多返回n+1个元素, 如果指定为0, -1或者None则返回所有结果

    • 满足最大分割次数之后, 剩余的结果将不再分割, 直接作为最后的结果返回

  • expand: bool, default False

    • 是否将分割的结果扩展到多个列中, 组成DataFrame

    • True: 返回扩展后的DataFrame/MultiIndex

    • False: 返回的仍是Series/Index

Series.str.join

Series.str.split / Series.str.rsplit的作用相反, 接受每个元素为一个列表, 将列表与连接符组合在一起形成一个字符串.

  • sep: 分隔符

注意: 如果列表中任何一个元素为非字符串, 最后返回的结果为NaN. 详情见下面的例子.

与上面的split方法类似, 但此时的输入的每个元素虽然是有分隔符的字符串, 但所有元素分隔出来的结果集合是有限的, 用来做One-Hot.

  • sep: string, default “|”

    • 分隔符

判断是否包含指定的内容, 传入的可以是一个字符串, 也可以使用正则表达式

  • pat: str

    • 字符串或正则表达式

  • case: bool, default True

    • 是否关心大小写

  • regex: bool, default True

    • 是否使用正则表达式

  • flags: int, default 0 (no flags)

    • 正则表达式的模式, re模块使用, 例如re.IGNORECASE

  • na: default NaN

    • 填补缺失位置的值

最后更新于

这有帮助吗?