专门做钻石国外网站,百度快速收录权限域名,做水果的有什么网站好,h5网站怎么做的目录 原数据字符大小写转换字符串拼接字符填充/插入/扩展字符串内容判断查找统计转码删减/截取分割/替换原数据 import pandas as pd
a pd.Series([aSd, asd, dfd fsAsf sfs])
b pd.Series([None, asd, fgh]) indexab0aSdNone1asdasd2dfd fsAsf sfsfgh字符大小写转换 a.str.l… 目录 原数据字符大小写转换字符串拼接字符填充/插入/扩展字符串内容判断查找统计转码删减/截取分割/替换 原数据 import pandas as pd
a pd.Series([aSd, asd, dfd fsAsf sfs])
b pd.Series([None, asd, fgh]) indexab0aSdNone1asdasd2dfd fsAsf sfsfgh字符大小写转换 a.str.lower()
a.str.upper()
a.str.title()
a.str.capitalize()
a.str.swapcase() loweruppertitlecapitalizeswapcase0asdASDAsdAsdAsD1asdASDAsdAsdASD2dfd fsasf sfsDFD FSASF SFSDfd Fsasf SfsDfd fsasf sfsDFD FSaSF SFS字符串拼接 自身拼接 a.str.cat(sep,) aSd,asd,dfd fsAsf sfs 与其它series拼接 a.str.cat(a)
a.str.cat([aSd, asd, dfd fsAsf sfs])
a a indexvalue0aSdaSd1asdasd2dfd fsAsf sfsdfd fsAsf sfsa.str.cat(a, sep,)
a.str.cat([aSd, asd, dfd fsAsf sfs], sep,)
a , a indexvalue0aSd,aSd1asd,asd2dfd fsAsf sfs,dfd fsAsf sfs数据含有None/NaN的情况 b.str.cat(sep,) asd,fgh # 将NaN替换为指定字符串进行操作
a.str.cat(sep,, na_rep???) ???,asd,fgh 剩下的情况除将NaN替换为指定字符之外跟上述示例一样, 这里不再进行演示字符填充/插入/扩展 # 向两端填充指定字符到指定长度
a.str.center(width10, fillchar?)
a.str.pad(width10, sideboth, fillchar?)
# 在右侧填充指定字符到指定长度
a.str.ljust(width10, fillchar?)
a.str.pad(width10, sideright, fillchar?)
# 在右侧填充指定字符到指定长度
a.str.rjust(width10, fillchar?)
a.str.pad(width10, sideleft, fillchar?) centerljustrjust0???aSd????aSd??????????????aSd1???asd????asd??????????????asd2dfd fsAsf sfsdfd fsAsf sfsdfd fsAsf sfs# 每隔指定个字符插入一个换行符
a.str.wrap(width2)
# 在字符串前面填充0到指定长度
a.str.zfill(width10)
# 将字符串扩展n倍
a.str.repeat(repeats2)
# 为每一个元素指定扩展倍数
a.str.repeat(repeats[2, 2, 2]) wrapzfillrepeat0aS\nd0000000aSdaSdaSd1as\nd0000000asdasdasd2df\nd \nfs\nAs\nf \nsf\nsdfd fsAsf sfsdfd fsAsf sfsdfd fsAsf sfsjoin() 在字符间插入字符a.str.join(sep?)
# 等同于
a.map(lambda x: ?.join(x)) 因此也出现了一种特殊情况, 元素不是字符串但可以使用join方法经过不完全证明, ?.join() 中支持的参数作为Series的元素是都可使用此方法pd.Series([[1, 2, 3]]).join(?) 字符串内容判断 以下方法返回由True和False组成的Series contains(): 判断指定字符串或正则表达式是否在序列或索引中参数说明pat字符串或正则表达式caseTrue是否区分大小写flags0可传入re.IGNORECASE之类的参数nanan缺失值填充regexTrue是否使用正则表达式匹配endswith(): 判断是否以给定的字符串结尾参数说明pat字符串nanan缺失值填充match(): 判断是否以给定的字符串开头(支持正则)参数说明pat字符串或正则表达式caseTrue是否区分大小写flags0可传入re.IGNORECASE之类的参数nanan缺失值填充as_indexerNone弃用方法说明.isalnum()字符串至少包含一个字符且所有字符都是字母(汉字)或数字则返回True.isalpha()字符串至少包含一个字符且所有字符都是字母(汉字)则返回True.isdigit()只包含数字(可以是: Unicode, 全角字符, bytes(b1), 罗马数字).isspace()只包含空白符.islower()至少包含一个小写字符, 且不包含大写字符.isupper()至少包含一个大写字符, 且不包含小写字符.istitle()所有单词大写开头其余小写(标题化).isnumeric()只包含数字字符.isdecimal()只包含数字(Unicode字符, 全角字符)查找 extract(): 使用正则表达式提取需要的内容(只返回第一次匹配到的内容)extractall(): 使用正则表达式提取需要的内容(返回所有匹配到的内容参数说明pat正则表达式(必须含有捕获组, 超过一个必然返回DataFrame)若捕获组设有name则将作为返回的列标签flags0可传入re.IGNORECASE之类的参数expandNoneTrue: 返回DataFrame(未来版本默认值)False: 返回S/I/DataFrame(现在版本默认值)extractall() 方法无此参数a.str.extract(([A-Z]))
a.str.extract(([A-Z])(s*)) ([A-Z])-([A-Z])(s*)0S-S1NaN-NaN NaN2A-A sa.str.extractall((?Pfield1[sSdf])(?Pfield2[ds])) field1field2说明 match 00Sd第1行第1个匹配结果10sd第2行第1个匹配结果20dfd第3行第1个匹配结果 1fs第3行第2个匹配结果 2sfs第3行第3个匹配结果检索sub在字符串中的位置, 可以指的那个开始检索和结束检索的位置 find(): 检索不到返回-1rfind(): 从右往左检索, 检索不到返回-1index(): 检索不到触发异常rindex(): 从右往左检索, 检索不到返回-1a.str.find(subs)
# 从第6个字符开始查找到第10个字符结束查找
a.str.find(subs, start6, end10) (subs)(subs, start6, end10)0-1-111-1257findall(): 以列表形式返回正则表达式所有匹配结果a.str.findall(pat[sSdf])
a.map(lambda x: re.findall([sSdf], x)) 结果0[Sd]1[sd]2[dfd, fs, sf, sfs]get(): 获取指定位置的字符a.str.get(i1) 结果0S1s2f统计 count() 统计指定字符串(支持正则)在序列字符串中出现的次数len() 返回序列字符串的长度a.str.count(pats, flags0)
a.str.len() countlen0031132413转码 encode(): 编码str -- bytesdecode(): 解码bytes -- str参数说明encoding编码方式errorstaticstatic: 编码/解码失败抛出异常ignore: 编码/解码失败自动忽略非法字符 replace: 编码/解码失败则使用 ? 替代非法字符 xmlcharrefreplace: 则引用XML的字符. c pd.Series([中文, \ud83easd])
c.str.encode(utf8, ignore)
c.str.encode(utf8, replace)
c.str.encode(utf8, xmlcharrefreplace) ignorereplacexmlcharrefreplacebackslashreplace1basdb?asdb#55358;asdb\ud83easd# 中国: b\xe4\xb8\xad\xe6\x96\x87
d pd.Series([b\xe4\xb8\xad\xe6\x96])
d.str.decode(utf8, ignore) ignorereplacexmlcharrefreplacebackslashreplace1中中NaN中\xe6\x96normalize(): 返回字符串的Unicode标准格式删减/截取 strip(to_stripNone): 删除两侧指定字符, 默认删除空白符lstrip(to_stripNone): 删除左侧指定字符, 默认删除空白符rstrip(to_stripNone): 删除右侧指定字符, 默认删除空白符slice() 截取子字符串参数说明startNone开始位置stopNone结束位置stepNone步长分割/替换 split() 使用指定字符分割字符串, 支持正则rsplit() 从右侧开始分割参数说明patNone分隔符, 默认空白符n-1分割次数, 默认全部expandFalseTrue: 返回DataFrame/MultiINdexFalse: 返回Series/Indexget_dummies(): 对字符串分割, 并返回每个分割结果出现的次数 pd.Series([a|b, a, a|c]).str.get_dummies()a b c
0 1 1 0
1 1 0 0
2 1 0 1pd.Series([a|b, np.nan, a|c]).str.get_dummies()a b c
0 1 1 0
1 0 0 0
2 1 0 1 partition(pat, expandTrue): 第一次出现pat时将字符串分割为三个部分: pat前面的部分, pat本身, pat后面的部分rpartition(): 从右往左检测pat字符串更新字符串 replace(): 更新字符串参数说明pat字符串或编译的正则表达式replstr: 将匹配到的字符串替换为此字符串fun: 传给fun的是对象相当于re.search(pat, string)的返回值n-1替换的次数, 默认全部caseNone是否区分大小写, 如果pat为字符串则默认为True, 若为编译的正则表达式则不能设置flags0可传入re.IGNORECASE之类的参数, 但若pat为编译的正则表达式则不能设置slice_replace(): 将选中的部分替换为指定字符串参数说明startNone开始位置stopNone结束位置replNone要替换为的字符串translate(): 字符替换 dict: {ord(a): x} 或 {ord(a): ord(x)} key必须是ascii码, value可以是字符串或ASCII码str.maketrans(a,x) 等同于 {97: 120}转载于:https://www.cnblogs.com/P--K/p/11148250.html