Pandas DataFrame.sub(~)
方法從源 DataFrame 中的值中減去標量、序列、Series 或 DataFrame,即:
DataFrame - other
注意
除非您使用參數 axis
、 level
和 fill_value
,否則 sub(~)
相當於使用 -
運算符執行減法。
參數
1.other
| scalar
或 sequence
或 Series
或 DataFrame
生成的 DataFrame 將從源 DataFrame 中減去 other
。
2. axis
| int
或 string
| optional
是否為源DataFrame的每一列或每一行廣播other
:
軸 |
說明 |
---|---|
|
每列廣播 |
|
每行廣播 |
僅當源 DataFrame 和 other
的尺寸不對齊時,這才相關。默認情況下,axis="columns"
。
3. level
| int
或 string
| optional
要考慮的級別的名稱或整數索引。如果您的 DataFrame 是多索引,則這是相關的。
4. fill_value
| float
或 None
| optional
在計算之前替換NaN
的值。如果減法涉及兩個 NaN
,那麽結果仍然是 NaN
。默認情況下,fill_value=None
。
返回值
從源 DataFrame 中減去 other
得到的新 DataFrame
。
例子
基本用法
考慮以下數據幀:
df = pd.DataFrame({"A":[2,3], "B":[4,5]})
df_other = pd.DataFrame({"A":[9,8], "B":[7,6]})
A B | A B
0 2 4 | 0 9 7
1 3 5 | 1 8 6
從 df
中減去 df_other
得出:
df.sub(df_other)
A B
0 -7 -3
1 -5 -1
廣播
考慮以下 DataFrame :
df = pd.DataFrame({"A":[2,3], "B":[4,5]})
df
A B
0 2 4
1 3 5
逐行減法
默認情況下, axis=1
,這意味著 other
將為 df
中的每一行廣播:
df.sub([6,7]) # axis=1
A B
0 -4 -3
1 -3 -2
在這裏,我們進行以下逐元素減法:
2-6 4-7
3-6 5-7
逐列減法
要為 df
中的每一列廣播 other
,請像這樣設置 axis=0
:
df.sub([6,7], axis=0)
A B
0 -4 -2
1 -4 -2
在這裏,我們進行以下逐元素減法:
2-6 4-6
3-7 5-7
指定fill_value
考慮以下數據幀:
df = pd.DataFrame({"A":[2,np.NaN], "B":[np.NaN,5]})
df_other = pd.DataFrame({"A":[10,20],"B":[np.NaN,np.NaN]})
A B | A B
0 2.0 NaN | 0 10 NaN
1 NaN 5.0 | 1 20 NaN
默認情況下,當我們使用 sub(~)
方法執行減法時,任何使用 NaN
的操作都會產生 NaN
:
df.sub(df_other)
A B
0 -8.0 NaN
1 NaN NaN
我們可以在執行減法之前使用 fill_value
參數填充 NaN
值,如下所示:
df.sub(df_other, fill_value=100)
A B
0 -8.0 NaN
1 80.0 -95.0
在這裏,請注意兩個 NaN
之間的減法結果仍然是 NaN
,而不管 fill_value
。
相關用法
- Python Pandas DataFrame sum方法用法及代碼示例
- Python PySpark DataFrame summary方法用法及代碼示例
- Python Pandas DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame swaplevel方法用法及代碼示例
- Python PySpark DataFrame sampleBy方法用法及代碼示例
- Python Pandas DataFrame set_axis方法用法及代碼示例
- Python Pandas DataFrame select_dtypes方法用法及代碼示例
- Python PySpark DataFrame selectExpr方法用法及代碼示例
- Python PySpark DataFrame show方法用法及代碼示例
- Python PySpark DataFrame select方法用法及代碼示例
- Python Pandas DataFrame stack方法用法及代碼示例
- Python Pandas DataFrame shift方法用法及代碼示例
- Python Pandas DataFrame sort_index方法用法及代碼示例
- Python Pandas DataFrame size屬性用法及代碼示例
- Python Pandas DataFrame set_index方法用法及代碼示例
- Python Pandas DataFrame swapaxes方法用法及代碼示例
- Python PySpark DataFrame sort方法用法及代碼示例
- Python PySpark DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame sem方法用法及代碼示例
- Python Pandas DataFrame std方法用法及代碼示例
- Python Pandas DataFrame shape屬性用法及代碼示例
- Python Pandas DataFrame sort_values方法用法及代碼示例
- Python Pandas DataFrame slice_shift方法用法及代碼示例
- Python Pandas DataFrame squeeze方法用法及代碼示例
- Python Pandas DataFrame empty屬性用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas DataFrame | sub method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。