series含有乙個str屬性,通過str能夠進行字串的向量級運算。
使用series的str屬性時,需要series元素的值是str(字串)型別s.astype("str")。
函式表向量化字串方法
no方法
re說明
0使用方式:s.str.cat()
返回序列索引或其他
1capitalize()
no字串轉大寫
2cat([others, sep, na_rep, join])
no用分隔符連線字串;返回str或原物件構架
3center(width[, fillchar])
no用附加字元填充字串的左側和右側
4contains(『'is')
yes判斷字串中是否包含子串true; pat str或正規表示式
5count(pat[, flags])
yes子串出現次數
6decode(encoding[, errors])
no位元組解碼
7encode(encoding[, errors])
no字串編碼
8endswith(pat[, na])
yes字串結尾是否是特定子串 true
9extract(pat[, flags, expand])
yes從正規表示式pat中提取第乙個匹配字元;結果為1個字元
10extractall(pat[, flags])
yes從正規表示式pat提取所有匹配的,返回組
11find(sub[, start, end])
no查子串首索引,子串包含在[start:end];無返回-1
12findall(pat[, flags])
yes查詢所有符合正規表示式的字元,以陣列形式返回
13get(i)
no從指定位置提取字元
14get_dummies([sep])
no用sep拆分每個字串,返回乙個虛擬/指示dataframe
15index(sub[, start, end])
no子串最低索引,子串範圍[start:end];無拋異常valueerror
16isalnum()
no檢查所有字元是否為字母數字
17isalpha()
no檢查是否都是字母
18isdecimal()
no檢查是否都是十進位制
19isdigit()
no檢查是否都是數字
20islower()
no檢查是否都是小寫
21isnumeric()
no檢查是否都是數字
22isspace()
no檢查是否都是空格
23istitle()
no檢查是否都是標題
24isupper()
no檢查是否都是大寫
25join(sep)
no用分隔符連線所有字元;同一級有非str返回na
26len()
no計算每個字串的長度
27ljust(width[, fillchar])
no使用附加字元填充字串的右側
28lower()
no字串轉小寫
29lstrip([to_strip])
no左側刪除空格(包括換行符)或其他str
30match(pat[, case, flags, na, …])
yes確定每個字串是否與正規表示式匹配。
31normalize(form)
no返回字串的unicode普通表單
32pad(width[, side, fillchar])
no指定左或右填充字元補齊字串
33partition([pat, expand])
no分隔符拆分為3部分,分隔符左,分隔符,分隔符右
34repeat(repeats)
no重複每個元素指定的次數
35replace(pat,b)
yes將值pat替換為值b。
36rfind(sub[, start, end])
no右邊查詢子串索引,子串包含在[start:end];無返回-1
37rindex(sub[, start, end])
no返回子串的最高索引,子串範圍[start:end];無丟擲異常
38rjust(width[, fillchar])
no使用附加字元填充字串的左側
39rpartition([pat, expand])
no右拆分成3部分含分隔符
40rsplit([pat, n, expand])
yes分隔符字串右邊拆分字串
41rstrip([to_strip])
no右側刪除空格(包括換行符)
42slice([start, stop, step])
no切片擷取字串
43slice_replace([start, stop, repl])
no用另乙個值替換字串的位置切片;比較複雜看例項
44split([pat=none, n, expand])
yes按分隔符或子串拆分字串
45startswith('st')
yes字串開頭是否匹配子串true
46strip('')
no刪除字串左右空白(包括換行符)或刪除其他左右字串
47swapcase()
no變換字母大小寫
48title()
no字串轉標題
49translate(table[, deletechars])
no通過對映表對映字串中的所有字元
50upper()
no字串轉大寫
51wrap(width, **kwargs)
no長字串換行,#結果插入換行符\n
52zfill(width)
no用0填充字串的左側
說明:類似python中str忽略na;適用於series / index
列舉幾個常用案例:
s = pd.series(["10 1 ",1001,10001])s = s.astype("str") #先轉換為字串型別
len_s = s.str.len() #計算每個元素的長度
isdigit_s = s.str.isdigit() #檢視每個元素是否只包含數字,返回true/false
cut_s = s.str[0:2] #切片擷取字串
split_s = s.str.split(" ") #指定字元進行切割,返回列表
strip_s = s.str.strip(' ') #刪除左右兩端的空格,中間部分依然保留
replace_s = s.str.replace(" ","") #將指定的字元替換為其他字元,這裡將空格替換刪除
使用pandas批量處理向量化字串
進行已經向量化後的字串資料,可以使用 pandas 的series 資料物件的 map方法。這樣,對於未經向量化的資料也可以先進行資料的向量化轉換然後再進行相應的處理。舉例實現字串資料的操作,編寫 如下 1 usr bin python 2 3 import numpy asnp 4 import ...
pandas向量化字串操作方法!
python內建一系列強大的字串處理方法,但這些方法只能處理單個字串,處理乙個序列的字串時,需要用到迴圈。那麼,有沒有辦法,不用迴圈就能同時處理多個字串呢,pandas的向量化操作就提供了這樣的方法。向量化的操作使我們不必擔心陣列的長度和維度,只需要關係操作功能,尤為強大的是,除了支援常用的字串操作...
pandas處理字串
1 dataframe的列 df.columns.str.strip df.columns.str.lower 處理列 清理開頭和結尾的白空格,將所有的名稱都換為小寫,並且將其餘的空格都替換為下劃線 df.columns df.columns.str.strip str.lower str.repl...