
- 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 - DataFrame 的算術運算
Pandas DataFrame 是一種二維資料結構,用於以表格格式儲存資料,類似於 SQL 或 Excel 中的表格。Pandas 的主要功能之一是能夠對 DataFrame 執行向量化算術運算。這意味著對 Pandas 資料結構的算術運算無需手動迴圈遍歷元素即可執行。
在 Pandas 中應用算術運算可以讓你快速有效地操作資料,無論你是處理單個 DataFrame 還是在多個 DataFrame 之間執行運算。
在本教程中,我們將學習如何在 Pandas DataFrame 上應用算術運算,如加法、減法、乘法和除法。
DataFrame 與標量值的算術運算
你可以直接對 DataFrame 和標量值執行算術運算。這些運算按元素應用,這意味著 DataFrame 中的每個值都會受到算術運算的影響。
以下是 Pandas DataFrame 上常用的算術運算子列表:
運算 | 使用運算子的示例 | 描述 |
---|---|---|
加法 | df + 2 | 將 2 加到 DataFrame 的每個元素上 |
減法 | df - 2 | 從每個元素中減去 2 |
乘法 | df * 2 | 將每個元素乘以 2 |
除法 | df / 2 | 將每個元素除以 2 |
冪運算 | df ** 2 | 將每個元素提升到 2 的冪 |
取模 | df % 2 | 求除以 2 的餘數 |
地板除 | df // 2 | 除並取商的下界 |
示例
以下示例演示瞭如何在 Pandas DataFrame 上應用所有算術運算子以及標量值。
import pandas as pd # Create a sample DataFrame data = {'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]} df = pd.DataFrame(data) # Display the input DataFrame print("Input DataFrame:\n", df) # Perform arithmetic operations print("\nAddition:\n", df + 2) print("\nSubtraction:\n", df - 2) print("\nMultiplication:\n", df * 2) print("\nDivision:\n", df / 2) print("\nExponentiation:\n", df ** 2) print("\nModulus:\n", df % 2) print("\nFloor Division:\n", df // 2)
以下是上述程式碼的輸出:
Input DataFrame: A B 0 1 5 1 2 6 2 3 7 3 4 8 Addition: A B 0 3 7 1 4 8 2 5 9 3 6 10 Subtraction: A B 0 -1 3 1 0 4 2 1 5 3 2 6 Multiplication: A B 0 2 10 1 4 12 2 6 14 3 8 16 Division: A B 0 0.5 2.5 1 1.0 3.0 2 1.5 3.5 3 2.0 4.0 Exponentiation: A B 0 1 25 1 4 36 2 9 49 3 16 64 Modulus: A B 0 1 1 1 0 0 2 1 1 3 0 0 Floor Division: A B 0 0 2 1 1 3 2 1 3 3 2 4
兩個 DataFrame 之間的算術運算
Pandas 允許你在兩個 DataFrame 之間應用算術運算子。正如我們已經知道的,DataFrame 是根據它們的索引和列標籤對齊的。如果在應用這些運算子時標籤不匹配,則相應的結果將為 NaN。
示例
此示例演示了在兩個 DataFrame 物件上應用算術運算。
import pandas as pd # Create two DataFrames df1 = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]}) df2 = pd.DataFrame({'A': [10, 20, 30], 'B': [50, 60, 70]}, index=[1, 2, 3]) # Display the input DataFrames print("DataFrame 1:\n", df1) print("\nDataFrame 2:\n", df2) # Perform arithmetic operations print("\nAddition:\n", df1 + df2) print("\nSubtraction:\n", df1 - df2) print("\nMultiplication:\n", df1 * df2) print("\nDivision:\n", df1 / df2)
以下是上述程式碼的輸出:
DataFrame 1: A B 0 1 5 1 2 6 2 3 7 3 4 8 DataFrame 2: A B 1 10 50 2 20 60 3 30 70 Addition: A B 0 NaN NaN 1 12.0 56.0 2 23.0 67.0 3 34.0 78.0 Subtraction: A B 0 NaN NaN 1 -8.0 -44.0 2 -17.0 -53.0 3 -26.0 -62.0 Multiplication: A B 0 NaN NaN 1 20.0 300.0 2 60.0 420.0 3 120.0 560.0 Division: A B 0 NaN NaN 1 0.200000 0.120000 2 0.150000 0.116667 3 0.133333 0.114286
Pandas 中的算術函式
除了上述運算子外,Pandas 還提供了各種函式來對 Pandas 資料結構執行算術運算,這些函式可以有效地處理缺失值並提供其他自定義選項,例如選擇軸和指定級別。
序號 | 函式 | 描述 |
---|---|---|
1 | add(other[, axis, level, fill_value]) | 按元素加法(二元運算子 +)。 |
2 | sub(other[, axis, level, fill_value]) | 按元素減法(二元運算子 -)。 |
3 | mul(other[, axis, level, fill_value]) | 按元素乘法(二元運算子 *)。 |
4 | div(other[, axis, level, fill_value]) | 按元素浮點除法(二元運算子 /)。 |
5 | truediv(other[, axis, level, ...]) | 按元素浮點除法(二元運算子 /)。 |
6 | floordiv(other[, axis, level, ...]) | 按元素整數除法(二元運算子 //)。 |
7 | mod(other[, axis, level, fill_value]) | 按元素取模運算(二元運算子 %)。 |
8 | pow(other[, axis, level, fill_value]) | 按元素指數冪(二元運算子 **)。 |
9 | dot(other) | 與另一個 DataFrame 或陣列進行矩陣乘法。 |
10 | radd(other[, axis, level, fill_value]) | 反向按元素加法。 |
11 | rsub(other[, axis, level, fill_value]) | 反向按元素減法。 |
12 | rmul(other[, axis, level, fill_value]) | 反向按元素乘法。 |
13 | rdiv(other[, axis, level, fill_value]) | 反向按元素浮點除法。 |
14 | rfloordiv(other[, axis, level, ...]) | 反向按元素整數除法。 |
15 | rmod(other[, axis, level, fill_value]) | 反向按元素取模運算。 |
16 | rpow(other[, axis, level, fill_value]) | 反向按元素指數冪。 |
廣告