1. 程式人生 > >python庫--pandas--Series.str--字串處理

python庫--pandas--Series.str--字串處理

python內建字串處理方法

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='strict' error處理方式
.encoode() 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='|' 把字串按照指定分隔符分割, 並返回分割後的字串出現的次數