python库--pandas--Series.str--字符串处理

293 阅读5分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

S: Series  I: Index

  • .capitalize() S/I   将Series/Index中的字符串大写
  • .cat() S/I/str  使用给定分隔符连接字符串
    • other=None 
      • None: 使用sep连接给定的Series返回一个str
      • List_like: 与Series对应位置的字符串用sep连接返回一个S
    • sep=None 分隔符
    • na_rep=None 遇到NA值忽略或使用指定字符替换
  • .center() S 在字符串两端填充指定字符到指定长度
    • width 填充后的字符串长度
    • fillchar=' ' 用于填充的字符串
  • .contains() S[bool] 判断指定字符串或正则表达式是否在序列或索引中
    • pat 字符串或正则表达式
    • case=True 是否区分大小写
    • flags=0 可传入re.IGNORECASE之类的参数
    • na=nan 缺失值填充
    • regex=True 是否使用正则表达式匹配
  • .count() S[int] 统计指定字符串在序列字符串中出现的次数
    • pat 字符串或正则表达式
    • flags=0 可传入re.IGNORECASE之类的参数
  • .decode() S[str] 解码
    • encoding 解码方式
    • errors='static' error处理方式
  • .encode() S[b''] 编码
    • encoding 编码方式
    • error='static' error处理方式
  • .endswith() S[bool] 判断是否以给定的字符串结尾
    • pat 字符串
    • na=nan 缺失值填充
  • .extract()   使用正则表达式提取需要的内容(只匹配一次)
    • pat 正则表达式(必须含有捕获组, 超过一个必然返回DataFrame)
    • flags=0 可传入re.IGNORECASE之类的参数
    • expand=None
      • True: 返回DataFrame(未来版本默认值)
      • False: 返回S/I/DataFrame(现在版本默认值)
  • .extractall() df 获取所有的正则表达式匹配到的内容(以多级索引的方式展示)
    • pat 含捕获组的正则表达式, 若捕获组设有name则将作为返回的列标签
    • flags=0 可传入re.IGNORECASE之类的参数
  • .find() S 查找sub在序列字符串的子字符串中出现的位置, 找不到返回-1
    • sub 字符串
    • start=0 子字符串开始的位置
    • end=None 子字符串结束的位置
  • .findall() S[list] 相当于对序列中每个字符串执行 re.findall(pat, string)
    • pat 正则表达式
    • flags=0 可传入re.IGNORECASE之类的参数
  • .get() S i 获取指定位置的字符, 超出长度则返回Na
  • .index() S 同.find() 不过找不到将引发Error
  • .join() S sep 给每个字符串的字符间插入指定字符
  • .len() S 返回每个字符串的长度
  • .ljust() S 同 .center() 不过只在右侧填充
  • .lower() S 所有字符小写
  • .lstrip() S to_strip=None 去除左侧指定字符, 默认去掉空白符
  • .match() S[bool] 判断字符串与正则表达式是否匹配, 即正则表达式能否匹配到内容
    • pat 字符串或正则表达式
    • case=True 是否区分大小写
    • flags=0 可传入re.IGNORECASE之类的参数
    • na=nan 缺失值填充
    • as_indexer=None 弃用
  • .normalize() S from 返回字符串的Unicode标准格式
  • .pad() S 在序列字符串左侧/右侧/两侧填充指定字符串到指定长度
    • width 将字符串填充到的长度
    • side='left'
      • 'left': 在左侧填充
      • 'right': 在右侧填充
      • 'both': 在两侧填充, 原字符串居中
    • fillchar=' ' 填充的字符
  • .partition()   第一次出现pat时将字符串分割为三个部分: pat前面的部分, pat本身, pat后面的部分
    • pat=' ' 字符串
    • expand=True True: 返回DataFrame/Multilndex
    • False: 返回Series/Index, 元素为Tuple
  • .repeat()   将字符串扩展n倍, 比如 'a' 扩展 2 倍为 'aa'
    • repeats
      • int: 序列中所有字符串扩展相同倍数
      • list_like: 长度需和序列长度一致, 对应每个元素扩展对应倍数
  • .replace() S 更新字符串
    • pat 字符串或编译的正则表达式
    • repl
      • str: 将匹配到的字符串替换为此字符串
      • fun: 传给fun的是对象相当于re.search(pat, string)的返回值
    • n=-1 替换的次数, 默认全部
    • case=None 是否区分大小写, 如果pat为字符串则默认为True, 若为编译的正则表达式则不能设置
    • flags=0 可传入re.IGNORECASE之类的参数, 但若pat为编译的正则表达式则不能设置
  • .rfind()   同 .find() 不过从右往左检索
  • .rindex()   同 .index() 不过从右往左检索
  • .rjust()   同 .center() 不过只在左侧填充
  • .rpartition()   同.partition(), 不过从右往左检索pat字符串
  • .rstrip() S to_strip=None 去除右侧指定字符, 默认去掉空白符
  • .slice() S 截取子字符串
    • start=None 开始位置
    • stop=None 结束位置
    • step=None 步长
  • .slice_replace() S 截取子字符串, 并将截取部分替换为repl
    • start=None 开始位置
    • stop=None 结束位置
    • repl=None 要替换为的字符串
  • .split()   对字符串按照给定字符进行分割
    • pat=None 分隔符, 默认空白符
    • n=-1 分割次数, 默认全部
    • expand=False
      • True: 返回DataFrame/MultiINdex
      • False: 返回Series/Index
  • .rsplit()   同.split() 不过从右侧开始分割
  • .startswith() S[bool] 判断序列字符串是否以指定字符串开头
    • pat 字符串
    • na=nan 缺失值填充
  • .strip() S to_strip=None 去除两侧指定字符, 默认去掉空白符
  • .swapcase() S 将小写字符大写, 将大写字符小写
  • .title() S 将首字母大写, 其余字符小写
  • .translate()   参考python内置字符串处理方法 .translate()
  • .upper() S 全部大写
  • .wrap() S width 在指定位置插入换行符
  • .zfill() S width 在字符串前面填充0到指定长度
  • .isalnum() S[bool] 字符串至少包含一个字符且所有字符都是字母(汉字)或数字则返回True
  • .isalpha() S[bool] 字符串至少包含一个字符且所有字符都是字母(汉字)则返回True
  • .isdigit() S[bool] 只包含数字(可以是: Unicode, 全角字符, bytes(b'1'), 罗马数字)
  • .isspace() S[bool] 只包含空白符
  • .islower() S[bool] 至少包含一个小写字符, 且不包含大写字符
  • .isupper() S[bool] 至少包含一个大写字符, 且不包含小写字符
  • .istitle() S[bool] 所有单词大写开头其余小写(标题化)
  • .isnumeric() S[bool] 只包含数字字符
  • .isdecimal() S[bool] 只包含数字(Unicode字符, 全角字符)
  • .get_dummies() df sep='|' 把字符串按照指定分隔符分割, 并返回分割后的字符串出现的次数