十一、向量化字符串操作
1.Pandas字符串操作簡介
Pandas 爲包含字符串的 Series 和 Index 對象提供 str 屬性,既可以高效滿足向量化字符串操作的需求,又可以正確地處理缺失值。
2.Pandas字符串方法列表
1)與Pandas字符串方法相似
幾乎所有 Python 內置的字符串方法都被複制到 Pandas 的向量化字符串方法中。
( Python 內置的字符串方法參考https://blog.csdn.net/weixin_40844116/article/details/83790546)
len() | lower() | translate() | islower() |
ljust() | upper() | startswith() | isupper() |
rjust() | find() | endswith() | isnumeric() |
center() | rfind() | isalnum() | isdecimal() |
zfill() | index() | isalpha() | split() |
strip() | rindex() | isdigit() | rsplit() |
rstrip() | capitalize() | isspace() | partition() |
lstrip() | swapcase() | istitle() | rpartition() |
根據不同方法,返回序列的dtype也不同
2)使用正則表達式的方法
Pandas
向量化字符串方法根據 Python 標準庫的 re 模塊函數實現的 API。
(re模塊參考https://blog.csdn.net/weixin_40844116/article/details/84646619)
能將正則表達式應用到 Series 與 DataFrame 之中的話,就有可能實現更多的數據分析與清洗方法。
方法 | 描述 |
---|---|
match() | 對每個元素調用 re.match(),返回布爾類型值 |
extract() | 對每個元素調用 re.match(),返回匹配的字符串組(groups) |
findall() | 對每個元素調用 re.findall() |
replace() | 用正則模式替換字符串 |
contains() | 對每個元素調用 re.search(),返回布爾類型值 |
count() | 計算符合正則模式的字符串的數量 |
split() | 等價於 str.split(),支持正則表達式 |
rsplit() | 等價於 str.rsplit(),支持正則表達式 |
3)其他字符串方法
方法 | 描述 |
---|---|
get() | 獲取元素索引位置上的值,索引從 0 開始 |
slice() | 對元素進行切片取值 |
slice_replace() | 對元素進行切片替換 |
cat() | 連接字符串(此功能比較複雜,建議閱讀文檔) |
repeat() | 重複元素 |
normalize() | 將字符串轉換爲 Unicode 規範形式 |
pad() | 在字符串的左邊、右邊或兩邊增加空格 |
wrap() | 將字符串按照指定的寬度換行 |
join() | 用分隔符連接 Series 的每個元素 |
get_dummies() | 按照分隔符提取每個元素的 dummy 變量,轉換爲獨熱(one-hot)編碼的 DataFrame |
- 向量化字符串的取值和切片操作get() slice()
df.str.slice(0, 3) 等價於 df.str[0:3],
df.str.get(i) 與 df.str[i]的按索引取值效果類似
結合多種方法,連續操作
- get_dummies() 方法-分列