
- Python Pandas 教程
- Python Pandas - 首頁
- Python Pandas - 簡介
- Python Pandas - 環境設定
- Python Pandas - 基礎
- Python Pandas - 資料結構簡介
- Python Pandas - 索引物件
- Python Pandas - 面板(Panel)
- Python Pandas - 基本功能
- Python Pandas - 索引和資料選擇
- Python Pandas - Series
- Python Pandas - Series
- Python Pandas - 切片 Series 物件
- Python Pandas - Series 物件的屬性
- Python Pandas - Series 物件的算術運算
- Python Pandas - 將 Series 轉換為其他物件
- Python Pandas - DataFrame
- Python Pandas - DataFrame
- Python Pandas - 訪問 DataFrame
- Python Pandas - 切片 DataFrame 物件
- Python Pandas - 修改 DataFrame
- Python Pandas - 從 DataFrame 中刪除行
- Python Pandas - DataFrame 的算術運算
- Python Pandas - I/O 工具
- Python Pandas - I/O 工具
- Python Pandas - 使用 CSV 格式
- Python Pandas - 讀取和寫入 JSON 檔案
- Python Pandas - 從 Excel 檔案讀取資料
- Python Pandas - 將資料寫入 Excel 檔案
- Python Pandas - 使用 HTML 資料
- Python Pandas - 剪貼簿
- Python Pandas - 使用 HDF5 格式
- Python Pandas - 與 SQL 的比較
- Python Pandas - 資料處理
- Python Pandas - 排序
- Python Pandas - 重索引
- Python Pandas - 迭代
- Python Pandas - 連線
- Python Pandas - 統計函式
- Python Pandas - 描述性統計
- Python Pandas - 處理文字資料
- Python Pandas - 函式應用
- Python Pandas - 選項和自定義
- Python Pandas - 視窗函式
- Python Pandas - 聚合
- Python Pandas - 合併/連線
- Python Pandas - 多級索引
- Python Pandas - 多級索引基礎
- Python Pandas - 使用多級索引進行索引
- Python Pandas - 使用多級索引的高階重索引
- Python Pandas - 重新命名多級索引標籤
- Python Pandas - 對多級索引進行排序
- Python Pandas - 二元運算
- Python Pandas - 二元比較運算
- Python Pandas - 布林索引
- Python Pandas - 布林掩碼
- Python Pandas - 資料重塑和透視表
- Python Pandas - 透視表
- Python Pandas - 堆疊和解堆疊
- Python Pandas - 熔化
- Python Pandas - 計算虛擬變數
- Python Pandas - 分類資料
- Python Pandas - 分類資料
- Python Pandas - 分類資料的排序和排列
- Python Pandas - 分類資料的比較
- Python Pandas - 處理缺失資料
- Python Pandas - 缺失資料
- Python Pandas - 填充缺失資料
- Python Pandas - 缺失值的插值
- Python Pandas - 刪除缺失資料
- Python Pandas - 使用缺失資料進行計算
- Python Pandas - 處理重複資料
- Python Pandas - 重複資料
- Python Pandas - 計數和檢索唯一元素
- Python Pandas - 重複標籤
- Python Pandas - 分組和聚合
- Python Pandas - GroupBy
- Python Pandas - 時間序列資料
- Python Pandas - 日期功能
- Python Pandas - Timedelta
- Python Pandas - 稀疏資料結構
- Python Pandas - 稀疏資料
- Python Pandas - 視覺化
- Python Pandas - 視覺化
- Python Pandas - 其他概念
- Python Pandas - 注意事項和陷阱
- Python Pandas 有用資源
- Python Pandas - 快速指南
- Python Pandas - 有用資源
- Python Pandas - 討論
Pandas Series.str.extractall() 方法
Pandas 中的 Series.str.extractall() 方法用於從 Series 中正則表示式模式的所有匹配項中提取捕獲組。提取的組作為 DataFrame 中的列返回。
此方法對於提取 Series 中每個字串元素內模式的多個匹配項特別有用,並且可以用於文字資料分析和文字處理應用程式,尤其是在處理包含需要提取的多個模式的字串時。
語法
以下是 Pandas Series.str.extractall() 方法的語法:
Series.str.extractall(pat, flags=0)
引數
Series.str.extractall() 方法接受以下引數:
pat - 表示具有捕獲組的正則表示式模式的字串。
flags - 可選整數,預設為 0(無標誌)。可以使用來自 re 模組的標誌,例如 re.IGNORECASE。可以使用按位 OR 運算子組合多個標誌。
返回值
Series.str.extractall() 方法返回一個 DataFrame,其中每行對應一個匹配項,每列對應一個組。行具有多級索引,其中第一級來自主題 Series,最後一級命名為“match”以索引 Series 中每個專案中的匹配項。將使用正則表示式模式中的捕獲組名稱作為列名;否則,將使用捕獲組編號。
示例 1
此示例演示如何從 Series 中每個字串元素中提取所有模式匹配項。
import pandas as pd # Create a Series of strings s = pd.Series(['abc123def', '456ghi789', '000jkl']) # Extract all digit groups from the strings result = s.str.extractall(r'(\d+)') print("Input Series:") print(s) print("\nExtracted Groups:") print(result)
當我們執行以上程式碼時,它會產生以下輸出:
Input Series: 0 abc123def 1 456ghi789 2 000jkl dtype: object Extracted Groups: 0 match 0 0 123 1 0 456 1 789 2 0 000
示例 2
此示例演示如何從 Series 中每個字串元素中提取命名捕獲組。
import pandas as pd # Create a Series of strings s = pd.Series(['name: John, age: 30', 'name: Larry, age: 25', 'name: Mark, age: 35']) # Extract name and age using named capture groups pattern = r'name: (?P<name>\w+), age: (?P<age>\d+)' result = s.str.extractall(pattern) print("Input Series:") print(s) print("\nExtracted Groups with Named Capture Groups:") print(result)
以下是以上程式碼的輸出:
Input Series: 0 name: John, age: 30 1 name: Larry, age: 25 2 name: Mark, age: 35 dtype: object Extracted Groups with Named Capture Groups: name age match 0 0 John 30 1 0 Larry 25 2 0 Mark 35
示例 3
此示例演示如何使用 re.IGNORECASE 標誌以不區分大小寫的方式提取匹配項。
import pandas as pd import re # Create a Series of strings s = pd.Series(['Python', 'python', 'PYTHON', 'Pandas', 'pandas', 'PANDAS']) # Extract all occurrences of 'python' or 'pandas' in a case-insensitive manner pattern = r'(python|pandas)' result = s.str.extractall(pattern, flags=re.IGNORECASE) print("Input Series:") print(s) print("\nExtracted Groups with Case-Insensitive Matching:") print(result)
以下是以上程式碼的輸出:
Input Series: 0 Python 1 python 2 PYTHON 3 Pandas 4 pandas 5 PANDAS dtype: object Extracted Groups with Case-Insensitive Matching: 0 match 0 0 Python 1 0 python 2 0 PYTHON 3 0 Pandas 4 0 pandas 5 0 PANDAS
python_pandas_working_with_text_data.htm
廣告