當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pandas.DataFrame.subtract用法及代碼示例


用法:

DataFrame.subtract(other, axis='columns', level=None, fill_value=None)

獲取數據幀和其他元素的減法(二元運算符 sub )。

等效於 dataframe - other ,但支持用 fill_value 替換其中一個輸入中的缺失數據。使用反向版本 rsub

在柔性包裝(add,sub,mul,div,mod,pow) 到算術運算符:+,-,*,/,//,%,**.

參數

other標量、序列、係列或數據幀

任何單元素或多元素數據結構,或list-like 對象。

axis{0 或 ‘index’、1 或 ‘columns’}

是按索引(0 或‘index’)還是按列(1 或‘columns’)進行比較。對於係列輸入,軸匹配係列索引。

level整數或標簽

跨級別廣播,匹配傳遞的 MultiIndex 級別上的索引值。

fill_value浮點數或無,默認無

在計算之前使用此值填充現有的缺失 (NaN) 值以及成功對齊 DataFrame 所需的任何新元素。如果兩個相應的 DataFrame 位置中的數據都丟失,則結果將丟失。

返回

DataFrame

算術運算的結果。

注意

不匹配的索引將合並在一起。

例子

>>> df = pd.DataFrame({'angles':[0, 3, 4],
...                    'degrees':[360, 180, 360]},
...                   index=['circle', 'triangle', 'rectangle'])
>>> df
           angles  degrees
circle          0      360
triangle        3      180
rectangle       4      360

添加一個帶有返回相同結果的運算符版本的標量。

>>> df + 1
           angles  degrees
circle          1      361
triangle        4      181
rectangle       5      361
>>> df.add(1)
           angles  degrees
circle          1      361
triangle        4      181
rectangle       5      361

用反向版本除以常數。

>>> df.div(10)
           angles  degrees
circle        0.0     36.0
triangle      0.3     18.0
rectangle     0.4     36.0
>>> df.rdiv(10)
             angles   degrees
circle          inf  0.027778
triangle   3.333333  0.055556
rectangle  2.500000  0.027778

使用操作符版本按軸減去列表和係列。

>>> df - [1, 2]
           angles  degrees
circle         -1      358
triangle        2      178
rectangle       3      358
>>> df.sub([1, 2], axis='columns')
           angles  degrees
circle         -1      358
triangle        2      178
rectangle       3      358
>>> df.sub(pd.Series([1, 1, 1], index=['circle', 'triangle', 'rectangle']),
...        axis='index')
           angles  degrees
circle         -1      359
triangle        2      179
rectangle       3      359

將不同形狀的 DataFrame 與運算符版本相乘。

>>> other = pd.DataFrame({'angles':[0, 3, 4]},
...                      index=['circle', 'triangle', 'rectangle'])
>>> other
           angles
circle          0
triangle        3
rectangle       4
>>> df * other
           angles  degrees
circle          0      NaN
triangle        9      NaN
rectangle      16      NaN
>>> df.mul(other, fill_value=0)
           angles  degrees
circle          0      0.0
triangle        9      0.0
rectangle      16      0.0

按級別除以 MultiIndex。

>>> df_multindex = pd.DataFrame({'angles':[0, 3, 4, 4, 5, 6],
...                              'degrees':[360, 180, 360, 360, 540, 720]},
...                             index=[['A', 'A', 'A', 'B', 'B', 'B'],
...                                    ['circle', 'triangle', 'rectangle',
...                                     'square', 'pentagon', 'hexagon']])
>>> df_multindex
             angles  degrees
A circle          0      360
  triangle        3      180
  rectangle       4      360
B square          4      360
  pentagon        5      540
  hexagon         6      720
>>> df.div(df_multindex, level=1, fill_value=0)
             angles  degrees
A circle        NaN      1.0
  triangle      1.0      1.0
  rectangle     1.0      1.0
B square        0.0      0.0
  pentagon      0.0      0.0
  hexagon       0.0      0.0

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.subtract。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。