
- 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 - 討論
Python Pandas - 布林掩碼
Pandas 中的布林掩碼是一種基於特定條件過濾資料的有用技術。它的工作原理是建立一個布林掩碼,並將其應用於 DataFrame 或 Series 以選擇滿足給定條件的資料。布林掩碼是一個 DataFrame 或 Series,其中每個元素都用 True 或 False 表示。當您將此布林掩碼應用於您的資料時,它將只選擇滿足定義條件的行或列。
在本教程中,我們將學習如何在 Pandas 中應用布林掩碼並根據索引和列值過濾資料。
使用布林掩碼選擇資料
DataFrame 中的資料選擇或過濾是透過建立定義行選擇條件的布林掩碼來完成的。
示例
以下示例演示如何使用布林掩碼過濾資料。
import pandas as pd # Create a sample DataFrame df= pd.DataFrame({'Col1': [1, 3, 5, 7, 9], 'Col2': ['A', 'B', 'A', 'C', 'A']}) # Dispaly the Input DataFrame print('Original DataFrame:\n', df) # Create a boolean mask mask = (df['Col2'] == 'A') & (df['Col1'] > 4) # Apply the mask to the DataFrame filtered_data = df[mask] print('Filtered Data:\n',filtered_data)
以下是上述程式碼的輸出:
Original DataFrame:
Col1 | Col2 | |
---|---|---|
0 | 1 | A |
1 | 3 | B |
2 | 5 | A |
3 | 7 | C |
4 | 9 | A |
Col1 | Col2 | |
---|---|---|
2 | 5 | A |
4 | 9 | A |
基於索引值掩碼資料
可以透過為索引建立掩碼來根據 DataFrame 的索引值過濾資料,以便您可以根據其位置或標籤選擇行。
示例
此示例使用 **df.isin()** 方法根據索引標籤建立布林掩碼。
import pandas as pd # Create a DataFrame with a custom index df = pd.DataFrame({'A1': [10, 20, 30, 40, 50], 'A2':[9, 3, 5, 3, 2] }, index=['a', 'b', 'c', 'd', 'e']) # Dispaly the Input DataFrame print('Original DataFrame:\n', df) # Define a mask based on the index mask = df.index.isin(['b', 'd']) # Apply the mask filtered_data = df[mask] print('Filtered Data:\n',filtered_data)
以下是上述程式碼的輸出:
Original DataFrame:
A1 | A2 | |
---|---|---|
a | 10 | 9 |
b | 20 | 3 |
c | 30 | 5 |
d | 40 | 3 |
e | 50 | 2 |
A1 | A2 | |
---|---|---|
b | 20 | 3 |
d | 40 | 3 |
基於列值掩碼資料
除了根據索引值進行過濾外,您還可以使用布林掩碼根據特定的列值過濾資料。**df.isin()** 方法用於檢查列中的值是否與值的列表匹配。
示例
以下示例演示如何建立和應用布林掩碼以根據 DataFrame 列值選擇資料。
import pandas as pd # Create a DataFrame df= pd.DataFrame({'A': [1, 2, 3],'B': ['a', 'b', 'f']}) # Dispaly the Input DataFrame print('Original DataFrame:\n', df) # Define a mask for specific values in column 'A' and 'B' mask = df['A'].isin([1, 3]) | df['B'].isin(['a']) # Apply the mask using the boolean indexing filtered_data = df[mask] print('Filtered Data:\n', filtered_data)
以下是上述程式碼的輸出:
Original DataFrame:
A | B | |
---|---|---|
0 | 1 | a |
1 | 2 | b |
2 | 3 | f |
A | B | |
---|---|---|
0 | 1 | a |
2 | 3 | f |
廣告