單引號(hào)或雙引號(hào)內(nèi)的都是字符串str類型,這意思就是把字符串賦值給Pat
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),高密企業(yè)網(wǎng)站建設(shè),高密品牌網(wǎng)站建設(shè),網(wǎng)站定制,高密網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,高密網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
以小數(shù)1.233為例:轉(zhuǎn)化為浮點(diǎn),再用split()來(lái)剝離實(shí)數(shù)和小數(shù)的字符串形式
str(1.233).split('.')
在 pandas 中,存儲(chǔ)文本主要有兩種方式
但一般建議使用 StringDtype 類型存儲(chǔ)文本數(shù)據(jù)。都是由于各種原因,現(xiàn)在字符串?dāng)?shù)據(jù)的默認(rèn)存儲(chǔ)類型還是 object 。
要存儲(chǔ)為 string 類型,需要顯式的設(shè)置 dtype 參數(shù)
或者在創(chuàng)建 Series 或 DataFrame 之后,使用 astype 轉(zhuǎn)換類型
也可以使用 StringDtype/"string" 轉(zhuǎn)換其他非字符串類型的數(shù)據(jù)
轉(zhuǎn)換現(xiàn)有數(shù)據(jù)的類型
StringDtype 類型對(duì)象與 object 類型之間存在一些差異
兩個(gè)結(jié)果的輸出都是 Int64 類型。將其與 object 類型比較
當(dāng)存在 NA 值時(shí),輸出為 float64 。類似地,對(duì)于返回布爾值的方法
Series 和 Index 有一套字符串處理方法,可以方便地對(duì)數(shù)組的每個(gè)元素進(jìn)行操作,最重要的是,這些方法會(huì)自動(dòng)忽略缺失值。
這些方法可以通過(guò) str 屬性訪問(wèn),通常具有與內(nèi)置字符串方法相匹配的名稱
Index 上的字符串方法對(duì)于清理或轉(zhuǎn)換 DataFrame 的列特別有用。
例如,您可能有帶有前導(dǎo)或后置空格的列
因?yàn)? df.columns 是一個(gè) Index 對(duì)象,所以我們可以使用 .str 訪問(wèn)器
我們可以根據(jù)需要對(duì)列名進(jìn)行處理,然后重新設(shè)置列名。
例如,我們刪除列名的前后空格,并將其改為小寫字母,同時(shí)用 _ 替換剩余的空格
split 方法會(huì)返回一個(gè)值為 list 的 Series
可以使用 get 或 [] 訪問(wèn)拆分后的列表中的元素
更簡(jiǎn)單的方法是設(shè)置 expand 參數(shù),返回一個(gè) DataFrame
當(dāng)原來(lái)的 Series 包含 StringDtype 類型的數(shù)據(jù)時(shí),輸出列也將全部為 StringDtype
當(dāng)然,也可以設(shè)置切割次數(shù)
它還有個(gè)對(duì)應(yīng)的 rsplit 方法,從右邊起始對(duì)字符串進(jìn)行拆分
replace 參數(shù)支持使用正則表達(dá)式,前兩個(gè)參數(shù)是 pat (匹配模式) 和 repl (替換字符串)
如果只是想要替換字符串字面值,可以將 regex 參數(shù)設(shè)置為 False ,而不需要對(duì)每個(gè)特殊字符進(jìn)行轉(zhuǎn)義。此時(shí) pat 和 repl 參數(shù)必須是字符串
此外, replace 方法還接受一個(gè)可調(diào)用的替換函數(shù),會(huì)使用 re.sub() 方法在每個(gè)匹配的模式上調(diào)用該函數(shù)
該函數(shù)需要傳入一個(gè)正則對(duì)象作為位置參數(shù),并返回一個(gè)字符串。例如
replace 方法的 pat 參數(shù)還接受 re.compile() 編譯的正則表達(dá)式對(duì)象。所有的 flags 需要在編譯正則對(duì)象時(shí)設(shè)置
如果在 replace 中設(shè)置 flags 參數(shù),則會(huì)拋出異常
有幾種方法可以將一個(gè) Series 或 Index 與自己或其他的 Series 或 Index 相連接,所有這些方法都是基于 cat() 方法
可以連接一個(gè) Series 或 Index 的內(nèi)容
如果未指定 sep 參數(shù),則默認(rèn)為空字符串
默認(rèn)會(huì)跳過(guò)缺失值,也可以使用 na_rep 指定缺失值的表示方式
cat() 的第一個(gè)參數(shù) others 可以是類似列表的對(duì)象,但是其長(zhǎng)度需要和調(diào)用對(duì)象一致
只要兩個(gè)對(duì)象中存在缺失值,對(duì)應(yīng)的結(jié)果中也是缺失值,除非指定了 na_rep
others 參數(shù)也可以是二維的,但是得保證其行數(shù)必須與調(diào)用的對(duì)象一致
對(duì)于 Series 或 DataFrame 的連接,可以通過(guò)設(shè)置 join 參數(shù)指定對(duì)齊方式
通常 join 可選范圍為: 'left' , 'outer' , 'inner' , 'right' 。此時(shí),不再要求兩個(gè)對(duì)象長(zhǎng)度一致
當(dāng) others 參數(shù)是 DataFrame 時(shí),也可以使用
可以將一些類似數(shù)組的對(duì)象(如 Series , Index 等)放在一個(gè)類似列表的容器中,然后傳遞給 cat
對(duì)于沒(méi)有索引的對(duì)象,其長(zhǎng)度必須與調(diào)用 cat 的對(duì)象相同。但是 Series 和 Index 可以是任意的,除非設(shè)置了 json=None 。
如果在 others 參數(shù)上包含不同索引的對(duì)象,且設(shè)置了 join='right' ,則最后的結(jié)果將會(huì)是這些索引的并集
可以使用 [] 符號(hào)直接按位置進(jìn)行索引,如果索引超過(guò)字符串的長(zhǎng)度,結(jié)果將是 NaN
在 0.23 版本之前, extract 方法的參數(shù) expand 默認(rèn)為 False 。當(dāng) expand=False 時(shí), expand 會(huì)根據(jù)正則表達(dá)式模式返回一個(gè) Series 、 Index 或 DataFrame
當(dāng) expand=True 時(shí),它總是返回一個(gè) DataFrame ,這種方式更加符合用戶的需求,從 0.23.0 版本開始就是默認(rèn)的
extract 方法接受一個(gè)至少包含一個(gè)捕獲組的正則表達(dá)式
如果是包含多個(gè)組的正則表達(dá)式將返回一個(gè) DataFrame ,每個(gè)捕獲組是一列
未匹配的行會(huì)填充 NaN ,可以從混亂的字符串序列中提取出有規(guī)則的信息。
對(duì)于命名分組
對(duì)于可選的分組
注意 :正則表達(dá)式中的任何捕獲組名稱都將用作列名,否則將使用捕獲組號(hào)
如果 expand=True ,則返回一個(gè) DataFrame
如果 expand=False ,則返回一個(gè) Series
對(duì)于索引,如果 expand=True ,且只有一個(gè)捕獲組則返回一個(gè)只有一列的 DataFrame
此時(shí),如果 expand=False 將會(huì)返回一個(gè) Index
對(duì)于索引,正則表達(dá)式設(shè)置多個(gè)分組將返回 DataFrame
如果 expand=False 將會(huì)拋出 ValueError 異常
對(duì)于 extract 只返回第一個(gè)匹配項(xiàng)
與 extract 不同, extractall 方法返回每個(gè)匹配項(xiàng),其結(jié)果始終是具有 MultiIndex 的 DataFrame 。
MultiIndex 的最后一級(jí)名為 match ,標(biāo)示的是匹配的順序
對(duì)于只有一個(gè)匹配的 Series
extractall(pat).xs(0, level='match') 與 extract(pat) 的結(jié)果一致
Index 也支持 .str.extractall ,它返回一個(gè) DataFrame ,其結(jié)果與 Series.str 相同。
您可以檢查字符串元素中是否包含正則匹配模式
或者字符串元素是否與模式匹配
而在 1.1.0 版本中
注意 :
match 、 fullmatch 和 contains 之間的區(qū)別是:
這三個(gè)函數(shù)于 re 模塊的 re.fullmatch 、 re.match 和 re.search 對(duì)應(yīng)
像 match , fullmatch , contains , startswith 和 endswith 有一個(gè)額外的 na 參數(shù),用于將缺失值替換為 True 或 False
您可以從字符串列中提取指標(biāo)變量。例如,如果使用 '|' 分隔的字符串
字符串 Index 也支持 get_dummies ,它返回一個(gè) MultiIndex