
- 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 - 熔化(Melting)
- 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 - 計算虛擬變數
虛擬變數,也稱為指示變數,是表示分類資料的二元 (0 或 1) 變數。在資料分析中,尤其是在處理分類資料時,通常需要將分類變數轉換為數值格式。一種常用的方法是使用虛擬變數。
本教程將介紹如何在 Python Pandas 中使用 get_dummies() 和 from_dummies() 函式建立虛擬變數。
使用 get_dummies() 建立虛擬變數
Pandas 中的 get_dummies() 函式用於將 Series 或 DataFrame 的分類變數轉換為虛擬變數。
示例:建立虛擬變數的基本示例
這是一個使用 pandas.get_dummies() 函式建立虛擬變數的基本示例。
import pandas as pd import numpy as np # Create a DataFrame df = pd.DataFrame({"keys": list("aeeioou"), "values": range(7)}) # Display the Input DataFrame print('Input DataFrame:\n',df) # Create dummy variables for the keys column dummies = pd.get_dummies(df["keys"]) print('Resultant Dummy Variables:\n',dummies)
以下是上述程式碼的輸出:
Input DataFrame:
keys | values |
---|---|
a | 0 |
e | 1 |
e | 2 |
i | 3 |
o | 4 |
o | 5 |
u | 6 |
a | e | i | o | u | |
---|---|---|---|---|---|
0 | True | False | False | False | False |
1 | False | True | False | False | False |
2 | False | True | False | False | False |
3 | False | False | True | False | False |
4 | False | False | False | True | False |
5 | False | False | False | True | False |
6 | False | False | False | False | True |
使用字首建立虛擬變數
get_dummies() 函式允許您透過使用 prefix 引數,在將 Pandas 物件的分類變數轉換為虛擬變數時,為虛擬變數列名新增字首。
示例
此示例演示了使用 pandas.get_dummies() 函式使用字首建立虛擬變數。
import pandas as pd import numpy as np # Create a DataFrame df = pd.DataFrame({"keys": list("aeeioou"), "values": range(7)}) # Display the Input DataFrame print('Input DataFrame:\n',df) # Create dummy variables for the keys column dummies = pd.get_dummies(df["keys"], prefix="Col_") print('Resultant Dummy Variables with Prefix:\n',dummies)
以下是上述程式碼的輸出:
Input DataFrame:
keys | values |
---|---|
a | 0 |
e | 1 |
e | 2 |
i | 3 |
o | 4 |
o | 5 |
u | 6 |
Col__a | Col__e | Col__i | Col__o | Col__u | |
---|---|---|---|---|---|
0 | True | False | False | False | False |
1 | False | True | False | False | False |
2 | False | True | False | False | False |
3 | False | False | True | False | False |
4 | False | False | False | True | False |
5 | False | False | False | True | False |
6 | False | False | False | False | True |
建立虛擬變數時處理共線性
為了避免統計模型中的共線性問題,您可以透過將 drop_first 引數設定為 True 來刪除第一個虛擬變數。
示例
此示例使用 pandas.get_dummies() 函式的 drop_first 引數刪除第一個虛擬變數。
import pandas as pd import numpy as np # Create a DataFrame df = pd.DataFrame({"keys": list("aeeioou"), "values": range(7)}) # Display the Input DataFrame print('Input DataFrame:\n',df) # Create dummy variables for the keys column dummies = pd.get_dummies(df["keys"], drop_first=True) print('Resultant Dummy Variables with Prefix:\n',dummies)
以下是上述程式碼的輸出:
Input DataFrame:
keys | values |
---|---|
a | 0 |
e | 1 |
e | 2 |
i | 3 |
o | 4 |
o | 5 |
u | 6 |
e | i | o | u | |
---|---|---|---|---|
0 | False | False | False | False |
1 | True | False | False | False |
2 | True | False | False | False |
3 | False | True | False | False |
4 | False | False | True | False |
5 | False | False | True | False |
6 | False | False | False | True |
從虛擬變數建立分類變數
pandas.from_dummies() 函式用於將 get_dummies() 的輸出轉換回分類 Series。
示例
此示例演示了使用 pandas.from_dummies() 函式從虛擬變數建立分類 Series。
import pandas as pd import numpy as np # Create a DataFrame with dummy variables df = pd.DataFrame({"Col_a": [0, 1, 0], "Col_b": [1, 0, 1]}) # Display the Input DataFrame print('Input DataFrame:\n',df) # Convert the Dummies back to categorical original_series = pd.from_dummies(df, sep="_") print('Resultant Categorical Variables:\n',original_series )
以下是上述程式碼的輸出:
Input DataFrame:
Col_a | Col_b |
---|---|
0 | 1 |
1 | 0 |
0 | 1 |
Col |
---|
b |
a |
b |
廣告