Python Pandas - 處理文字資料



Pandas 提供了使用.str訪問器處理文字資料的強大工具。這允許我們在 Series 和 Index 物件上應用各種字串操作,這些操作在 Pandas DataFrame 中有效地進行字串操作。

.str訪問器提供了各種字串方法,可以對字串物件執行字串轉換、連線、搜尋等操作。下面,這些方法根據其功能進行分類:

字串轉換

此類別包括以某種方式轉換字串的方法,例如更改大小寫、格式化或修改特定字元。

序號 方法和描述
1

Series.str.capitalize()

將 Series 或 Index 中每個字串的第一個字元轉換為大寫,其餘轉換為小寫。

2

Series.str.casefold()

以更激進的方式將每個字串轉換為小寫,適用於不區分大小寫的比較。

3

Series.str.lower()

將 Series 或 Index 中每個字串的所有字元轉換為小寫。

4

Series.str.upper()

將 Series 或 Index 中每個字串的所有字元轉換為大寫。

5

Series.str.title()

將每個字串轉換為標題大小寫,其中每個單詞的第一個字元都大寫。

6

Series.str.swapcase()

交換大小寫 - 將大寫字元轉換為小寫,反之亦然。

7

Series.str.replace()

將每個字串中模式或正則表示式的出現替換為另一個字串。

字串修剪

此類別包括用於將字串修剪到特定字元或指定字首的方法。

序號 方法和描述
1

Series.str.lstrip()

刪除每個字串開頭的字元(預設為空格)。

2

Series.str.strip()

刪除每個字串開頭和結尾的字元(預設為空格)。

3

Series.str.rstrip()

刪除每個字串結尾的字元(預設為空格)。

4

Series.str.removeprefix(prefix)

如果存在,則從 Series 或 Index 中每個字串中刪除指定的字首。

5

Series.str.removesuffix(suffix)

如果存在,則從 Series 或 Index 中每個字串中刪除指定的尾綴。

字串連線和聯接方法

這些方法允許您將多個字串組合成一個,或使用指定的分割符聯接字串內的元素。

序號 方法和描述
1

Series.str.cat()

將 Series 或 Index 中的字串與可選的分割符連線起來。

2

Series.str.join()

使用指定的分割符聯接 Series 或 Index 中每個字串包含的列表中的元素。

字串填充方法

此類別包括用於將字串填充到特定長度或在指定寬度內對其對齊的方法。

序號 方法和描述
1

Series.str.center()

將 Series 或 Index 中每個字串在指定的寬度內居中,用字元填充。

2

Series.str.pad()

將 Series 或 Index 中每個字串填充到指定的寬度,可以選擇從左側、右側或兩側填充。

3

Series.str.ljust()

用指定的字元填充 Series 或 Index 中每個字串的右側,以達到指定的寬度。

4

Series.str.rjust()

用指定的字元填充 Series 或 Index 中每個字串的左側,以達到指定的寬度。

5

Series.str.zfill()

用零填充 Series 或 Index 中每個字串的左側,直到達到指定的寬度。

字串搜尋方法

這些方法幫助您在文字中查詢子字串、計數出現次數或檢查模式。

序號 方法和描述
1

Series.str.contains()

檢查 Series 或 Index 中每個字串是否包含指定的模式。

2

Series.str.count()

計算 Series 或 Index 中每個字串中模式或正則表示式的出現次數。

3

Series.str.find()

查詢 Series 或 Index 中每個字串中子字串的最低索引。

4

Series.str.rfind()

查詢 Series 或 Index 中每個字串中子字串的最高索引。

5

Series.str.index()

類似於 find(),但如果未找到子字串則引發異常。

6

Series.str.rindex()

類似於 rfind(),但如果未找到子字串則引發異常。

7

Series.str.match()

僅檢查每個字串開頭的匹配項。

8

Series.str.fullmatch()

檢查整個字串的匹配項。

9

Series.str.extract()

使用正則表示式提取每個字串中匹配的組。

10

Series.str.extractall()

使用正則表示式提取每個字串中的所有匹配項。

字串分割方法

分割方法根據分隔符或模式劃分字串,這對於將文字資料解析成單獨的元件很有用。

序號 方法和描述
1

Series.str.split()

按指定的分隔符或正則表示式分割 Series 或 Index 中的每個字串,並返回字串列表。

2

Series.str.rsplit()

按指定的分隔符或正則表示式分割 Series 或 Index 中的每個字串,從右側開始,並返回字串列表。

3

Series.str.partition()

在每個字串中分隔符的第一次出現處分割,並返回包含三個元素的元組:分隔符之前的部分、分隔符本身以及分隔符之後的部分。

4

Series.str.rpartition()

在每個字串中分隔符的最後一次出現處分割,並返回包含三個元素的元組:分隔符之前的部分、分隔符本身以及分隔符之後的部分。

字串過濾方法

這些方法對於過濾掉非字母數字字元、控制字元集或清理文字資料很有用。

序號 方法和描述
1

Series.str.filter()

返回提供的函式計算結果為真的元素。

2

Series.str.get()

提取指定位置每個元件的元素。

3

Series.str.get_dummies()

按指定的分隔符分割 Series 中的每個字串,並返回虛擬/指示變數的 DataFrame。

4

Series.str.isalpha()

檢查每個字串是否僅由字母字元組成。

5

Series.str.isdigit()

檢查每個字串是否僅由數字組成。

6

Series.str.isnumeric()s

檢查每個字串是否僅由數字字元組成。

7

Series.str.isspace()

檢查每個字串是否僅由空格組成。

8

Series.str.isupper()

檢查每個字串中的所有字元是否都大寫。

9

Series.str.islower()

檢查每個字串中的所有字元是否都小寫。

10

Series.str.isalnum()

檢查每個字串中的所有字元是否都為字母數字(字母和數字)。

11

Series.str.istitle()

檢查 Series 或 Index 中的每個字串是否為標題大小寫,其中每個單詞都以大寫字母開頭。

12

Series.str.isdecimal()

檢查每個字串中的所有字元是否都為十進位制字元。

13

Series.str.len()

計算 Series 或 Index 中每個字串的長度。

14

Series.str.findall()

查詢每個字串中模式或正則表示式的所有出現。

其他方法

此類別包括對字串執行各種其他操作的方法,例如編碼、解碼和檢查特定字元的存在。

序號 方法和描述
1

Series.str.encode()

使用指定的編碼對每個字串進行編碼。

2

Series.str.decode()

使用指定的編碼解碼每個字串。

3

Series.str.expandtabs()

將製表符字元('\t')擴充套件為空格。

4

Series.str.repeat()

將 Series 或 Index 中每個字串重複指定的次數。

5

Series.str.slice_replace()

用傳遞的替換項替換每個字串中的切片。

6

Series.str.translate()

透過轉換表對映字串中的每個字元。

7

Series.str.slice()

將 Series 或 Index 中的每個字串根據傳遞的引數進行切片。

8

Series.str.startswith()

檢查 Series 或 Index 中的每個字串是否以指定的模式開頭。

9

Series.str.endswith()

檢查 Series 或 Index 中的每個字串是否以指定的模式結尾。

10

Series.str.normalize()

將 Series 或 Index 中每個字串的 Unicode 表示形式規範化為指定的規範化形式。

11

Series.str.wrap()

將 Series 或 Index 中的每個字串換行到指定的行寬,根據需要換行。

廣告