Pandas-2-2-中文文件-二十-

绝不原创的飞龙發表於2024-06-24

Pandas 2.2 中文文件(二十)

原文:pandas.pydata.org/docs/

pandas.DataFrame.__iter__

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.__iter__.html

DataFrame.__iter__()

遍歷資訊軸。

返回:

迭代器

資訊軸作為迭代器。

示例

>>> df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
>>> for x in df:
...     print(x)
A
B 

pandas.DataFrame.items

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.items.html

DataFrame.items()

遍歷(列名,Series)對。

遍歷 DataFrame 列,返回一個包含列名和內容的 Series 的元組。

產生:

標籤物件

正在遍歷的 DataFrame 的列名。

內容Series

屬於每個標籤的列條目,作為 Series。

另請參閱

DataFrame.iterrows

遍歷 DataFrame 行,作為(索引,Series)對。

DataFrame.itertuples

遍歷 DataFrame 行,作為命名元組的值。

示例

>>> df = pd.DataFrame({'species': ['bear', 'bear', 'marsupial'],
...                   'population': [1864, 22000, 80000]},
...                   index=['panda', 'polar', 'koala'])
>>> df
 species   population
panda   bear      1864
polar   bear      22000
koala   marsupial 80000
>>> for label, content in df.items():
...     print(f'label: {label}')
...     print(f'content: {content}', sep='\n')
...
label: species
content:
panda         bear
polar         bear
koala    marsupial
Name: species, dtype: object
label: population
content:
panda     1864
polar    22000
koala    80000
Name: population, dtype: int64 

pandas.DataFrame.keys

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.keys.html

DataFrame.keys()

獲取“資訊軸”(詳見索引)。

這是 Series 的索引,DataFrame 的列。

返回:

索引

資訊軸。

示例

>>> d = pd.DataFrame(data={'A': [1, 2, 3], 'B': [0, 4, 8]},
...                  index=['a', 'b', 'c'])
>>> d
 A  B
a  1  0
b  2  4
c  3  8
>>> d.keys()
Index(['A', 'B'], dtype='object') 

pandas.DataFrame.iterrows

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.iterrows.html

DataFrame.iterrows()

遍歷 DataFrame 行,返回值為(索引,Series)對。

產生:

索引標籤或標籤元組

行的索引。對於多重索引,是一個元組。

資料Series

行的資料作為一個 Series。

另請參閱

DataFrame.itertuples

遍歷 DataFrame 行,返回值為值的命名元組。

DataFrame.items

遍歷(列名,Series)對。

注意事項

  1. 因為iterrows為每行返回一個 Series,它不會在行之間保留資料型別(對於 DataFrame,資料型別在列之間保留)。

    為了在遍歷行時保留資料型別,最好使用itertuples()返回值為命名元組的方法,通常比iterrows更快。

  2. 在迭代過程中,您不應該修改正在迭代的內容。這並不保證在所有情況下都有效。根據資料型別,迭代器返回的是副本而不是檢視,對其進行寫入將不會產生任何效果。

示例

>>> df = pd.DataFrame([[1, 1.5]], columns=['int', 'float'])
>>> row = next(df.iterrows())[1]
>>> row
int      1.0
float    1.5
Name: 0, dtype: float64
>>> print(row['int'].dtype)
float64
>>> print(df['int'].dtype)
int64 

pandas.DataFrame.itertuples

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.itertuples.html

DataFrame.itertuples(index=True, name='Pandas')

以命名元組的形式迭代 DataFrame 行。

引數:

indexbool,預設為 True

如果為 True,則將索引作為元組的第一個元素返回。

namestr 或 None,預設為“Pandas”

返回的命名元組的名稱,或者為 None 以返回常規元組。

返回:

iterator

一個物件,用於在 DataFrame 中的每一行上迭代命名元組,第一個欄位可能是索引,後續欄位是列值。

另請參閱

DataFrame.iterrows

以(index, Series)對的形式迭代 DataFrame 行。

DataFrame.items

以(列名,Series)對的形式迭代。

注意

如果列名無效的 Python 識別符號、重複或以下劃線開頭,則列名將重新命名為位置名稱。

示例

>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},
...                   index=['dog', 'hawk'])
>>> df
 num_legs  num_wings
dog          4          0
hawk         2          2
>>> for row in df.itertuples():
...     print(row)
...
Pandas(Index='dog', num_legs=4, num_wings=0)
Pandas(Index='hawk', num_legs=2, num_wings=2) 

透過將 index 引數設定為 False,我們可以將索引作為元組的第一個元素移除:

>>> for row in df.itertuples(index=False):
...     print(row)
...
Pandas(num_legs=4, num_wings=0)
Pandas(num_legs=2, num_wings=2) 

透過設定 name 引數,我們可以為生成的命名元組設定自定義名稱:

>>> for row in df.itertuples(name='Animal'):
...     print(row)
...
Animal(Index='dog', num_legs=4, num_wings=0)
Animal(Index='hawk', num_legs=2, num_wings=2) 

pandas.DataFrame.pop

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.pop.html

DataFrame.pop(item)

返回專案並從資料框中刪除。如果未找到,則引發 KeyError。

引數:

專案標籤

要彈出的列的標籤。

返回:

系列

示例

>>> df = pd.DataFrame([('falcon', 'bird', 389.0),
...                    ('parrot', 'bird', 24.0),
...                    ('lion', 'mammal', 80.5),
...                    ('monkey', 'mammal', np.nan)],
...                   columns=('name', 'class', 'max_speed'))
>>> df
 name   class  max_speed
0  falcon    bird      389.0
1  parrot    bird       24.0
2    lion  mammal       80.5
3  monkey  mammal        NaN 
>>> df.pop('class')
0      bird
1      bird
2    mammal
3    mammal
Name: class, dtype: object 
>>> df
 name  max_speed
0  falcon      389.0
1  parrot       24.0
2    lion       80.5
3  monkey        NaN 

pandas.DataFrame.tail

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.tail.html

DataFrame.tail(n=5)

返回最後 n 行。

此函式基於位置從物件中返回最後 n 行。 在排序或追加行後,例如快速驗證資料非常有用。

對於負值的 n,此函式返回除前|n|行外的所有行,相當於df[|n|:]

如果 n 大於行數,則此函式返回所有行。

引數:

nint,預設為 5

要選擇的行數。

返回:

呼叫者型別

呼叫者物件的最後 n 行。

另請參閱

DataFrame.head

呼叫者物件的前 n 行。

示例

>>> df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion',
...                    'monkey', 'parrot', 'shark', 'whale', 'zebra']})
>>> df
 animal
0  alligator
1        bee
2     falcon
3       lion
4     monkey
5     parrot
6      shark
7      whale
8      zebra 

檢視最後 5 行

>>> df.tail()
 animal
4  monkey
5  parrot
6   shark
7   whale
8   zebra 

檢視最後 n 行(在此情況下為三行)

>>> df.tail(3)
 animal
6  shark
7  whale
8  zebra 

對於負值的 n

>>> df.tail(-3)
 animal
3    lion
4  monkey
5  parrot
6   shark
7   whale
8   zebra 

pandas.DataFrame.xs

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.xs.html

DataFrame.xs(key, axis=0, level=None, drop_level=True)

從 Series/DataFrame 返回橫截面。

此方法接受一個關鍵字引數,以選擇 MultiIndex 的特定級別的資料。

引數:

key標籤或標籤元組

包含在索引中的標籤,或部分包含在 MultiIndex 中。

axis,預設為 0

用於檢索橫截面的軸。

level物件,預設為前 n 個級別(n=1 或 len(key))

如果關鍵字部分包含在 MultiIndex 中,請指示使用哪些級別。級別可以透過標籤或位置引用。

drop_level布林值,預設為 True

如果為 False,則返回具有與 self 相同級別的物件。

返回:

Series 或 DataFrame

從原始 Series 或 DataFrame 中獲取與所選索引級別對應的橫截面。

另請參閱

DataFrame.loc

透過標籤或布林陣列訪問一組行和列。

DataFrame.iloc

純粹基於整數位置的索引,用於按位置進行選擇。

注意

xs 不能用於設定值。

MultiIndex Slicers 是一種通用的方式,用於在任何級別或級別上獲取/設定值。它是 xs 功能的超集,請參閱 MultiIndex Slicers。

示例

>>> d = {'num_legs': [4, 4, 2, 2],
...      'num_wings': [0, 0, 2, 2],
...      'class': ['mammal', 'mammal', 'mammal', 'bird'],
...      'animal': ['cat', 'dog', 'bat', 'penguin'],
...      'locomotion': ['walks', 'walks', 'flies', 'walks']}
>>> df = pd.DataFrame(data=d)
>>> df = df.set_index(['class', 'animal', 'locomotion'])
>>> df
 num_legs  num_wings
class  animal  locomotion
mammal cat     walks              4          0
 dog     walks              4          0
 bat     flies              2          2
bird   penguin walks              2          2 

獲取指定索引處的數值

>>> df.xs('mammal')
 num_legs  num_wings
animal locomotion
cat    walks              4          0
dog    walks              4          0
bat    flies              2          2 

獲取多個索引處的數值

>>> df.xs(('mammal', 'dog', 'walks'))
num_legs     4
num_wings    0
Name: (mammal, dog, walks), dtype: int64 

獲取指定索引和級別處的數值

>>> df.xs('cat', level=1)
 num_legs  num_wings
class  locomotion
mammal walks              4          0 

獲取多個索引和級別的數值

>>> df.xs(('bird', 'walks'),
...       level=[0, 'locomotion'])
 num_legs  num_wings
animal
penguin         2          2 

獲取指定列和軸處的數值

>>> df.xs('num_wings', axis=1)
class   animal   locomotion
mammal  cat      walks         0
 dog      walks         0
 bat      flies         2
bird    penguin  walks         2
Name: num_wings, dtype: int64 

pandas.DataFrame.get

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.get.html

DataFrame.get(key, default=None)

獲取給定鍵的物件中的專案(例如:DataFrame 列)。

如果未找到,則返回預設值。

引數:

key物件

返回:

與物件中包含的專案相同的型別

示例

>>> df = pd.DataFrame(
...     [
...         [24.3, 75.7, "high"],
...         [31, 87.8, "high"],
...         [22, 71.6, "medium"],
...         [35, 95, "medium"],
...     ],
...     columns=["temp_celsius", "temp_fahrenheit", "windspeed"],
...     index=pd.date_range(start="2014-02-12", end="2014-02-15", freq="D"),
... ) 
>>> df
 temp_celsius  temp_fahrenheit windspeed
2014-02-12          24.3             75.7      high
2014-02-13          31.0             87.8      high
2014-02-14          22.0             71.6    medium
2014-02-15          35.0             95.0    medium 
>>> df.get(["temp_celsius", "windspeed"])
 temp_celsius windspeed
2014-02-12          24.3      high
2014-02-13          31.0      high
2014-02-14          22.0    medium
2014-02-15          35.0    medium 
>>> ser = df['windspeed']
>>> ser.get('2014-02-13')
'high' 

如果未找到鍵,則將使用預設值。

>>> df.get(["temp_celsius", "temp_kelvin"], default="default_value")
'default_value' 
>>> ser.get('2014-02-10', '[unknown]')
'[unknown]' 

pandas.DataFrame.isin

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.isin.html

DataFrame.isin(values)

DataFrame 中的每個元素是否包含在 values 中。

引數:

values 可迭代的,Series,DataFrame 或字典

結果只有在所有標籤都匹配時才為 true。如果 values 是 Series,則為其索引。如果 values 是字典,則鍵必須是列名,且必須匹配。如果 values 是 DataFrame,則索引和列標籤都必須匹配。

返回值:

DataFrame

布林型的 DataFrame,顯示 DataFrame 中的每個元素是否包含在 values 中。

另請參閱

DataFrame.eq

DataFrame 的相等性測試。

Series.isin

等效於 Series 上的方法。

Series.str.contains

檢查模式或正規表示式是否包含在 Series 或索引的字串中。

示例

>>> df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},
...                   index=['falcon', 'dog'])
>>> df
 num_legs  num_wings
falcon         2          2
dog            4          0 

values 是列表時,檢查 DataFrame 中的每個值是否存在於列表中(哪些動物有 0 或 2 條腿或翅膀)

>>> df.isin([0, 2])
 num_legs  num_wings
falcon      True       True
dog        False       True 

要檢查 DataFrame 中是否存在 values,請使用 ~ 運算子:

>>> ~df.isin([0, 2])
 num_legs  num_wings
falcon     False      False
dog         True      False 

values 是字典時,我們可以分別傳遞值以檢查每一列:

>>> df.isin({'num_wings': [0, 3]})
 num_legs  num_wings
falcon     False      False
dog        False       True 

values 是 Series 或 DataFrame 時,索引和列必須匹配。請注意,根據其他腿的數量,‘falcon’ 不匹配。

>>> other = pd.DataFrame({'num_legs': [8, 3], 'num_wings': [0, 2]},
...                      index=['spider', 'falcon'])
>>> df.isin(other)
 num_legs  num_wings
falcon     False       True
dog        False      False 

pandas.DataFrame.where

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.where.html

DataFrame.where(cond, other=nan, *, inplace=False, axis=None, level=None)

替換條件為 False 的值。

引數:

cond 布林 Series/DataFrame、類似陣列或可呼叫物件

cond 為 True 時,保留原始值。當為 False 時,用 other 對應的值替換。如果 cond 是可呼叫的,則在 Series/DataFrame 上進行計算,應返回布林 Series/DataFrame 或陣列。該可呼叫物件不得更改輸入的 Series/DataFrame(儘管 pandas 不會檢查)。

other 標量、Series/DataFrame 或可呼叫物件

如果 cond 為 False,則用 other 對應的值替換。如果 other 是可呼叫的,則在 Series/DataFrame 上進行計算,應返回標量或 Series/DataFrame。該可呼叫物件不得更改輸入的 Series/DataFrame(儘管 pandas 不會檢查)。如果未指定,則條目將用對應的 NULL 值填充(對於 numpy dtypes 是 np.nan,對於擴充套件 dtypes 是 pd.NA)。

inplace 布林值,預設為 False

是否在資料上原地執行操作。

axis 整數,預設為 None

如有必要,對齊軸。對於 Series,此引數未使用,預設為 0。

level 整數,預設為 None

如有必要,對齊級別。

返回:

與呼叫者相同的型別,如果 inplace=True 則為 None。

另請參見

DataFrame.mask()

返回一個與 self 相同形狀的物件。

注意事項

where 方法是 if-then 習語的一種應用。對於呼叫 DataFrame 中的每個元素,如果 condTrue 則使用該元素;否則使用 DataFrame other 對應的元素。如果 other 的軸與 cond 的軸不對齊,未對齊的索引位置將填充為 False。

DataFrame.where() 的簽名與 numpy.where() 不同。大致上,df1.where(m, df2) 等價於 np.where(m, df1, df2)

更多詳細資訊和示例請參閱 indexing 中的 where 文件。

物件的 dtype 優先。如果可以無損轉換,則填充值將轉換為物件的 dtype。

示例

>>> s = pd.Series(range(5))
>>> s.where(s > 0)
0    NaN
1    1.0
2    2.0
3    3.0
4    4.0
dtype: float64
>>> s.mask(s > 0)
0    0.0
1    NaN
2    NaN
3    NaN
4    NaN
dtype: float64 
>>> s = pd.Series(range(5))
>>> t = pd.Series([True, False])
>>> s.where(t, 99)
0     0
1    99
2    99
3    99
4    99
dtype: int64
>>> s.mask(t, 99)
0    99
1     1
2    99
3    99
4    99
dtype: int64 
>>> s.where(s > 1, 10)
0    10
1    10
2    2
3    3
4    4
dtype: int64
>>> s.mask(s > 1, 10)
0     0
1     1
2    10
3    10
4    10
dtype: int64 
>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])
>>> df
 A  B
0  0  1
1  2  3
2  4  5
3  6  7
4  8  9
>>> m = df % 3 == 0
>>> df.where(m, -df)
 A  B
0  0 -1
1 -2  3
2 -4 -5
3  6 -7
4 -8  9
>>> df.where(m, -df) == np.where(m, df, -df)
 A     B
0  True  True
1  True  True
2  True  True
3  True  True
4  True  True
>>> df.where(m, -df) == df.mask(~m, -df)
 A     B
0  True  True
1  True  True
2  True  True
3  True  True
4  True  True 

pandas.DataFrame.mask

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.mask.html

DataFrame.mask(cond, other=_NoDefault.no_default, *, inplace=False, axis=None, level=None)

替換條件為 True 的值。

引數:

condbool Series/DataFrame、類陣列或可呼叫物件

當 cond 為 False 時,保留原始值。當為 True 時,用其他對應值替換。如果 cond 是可呼叫物件,則在 Series/DataFrame 上計算,應返回布林 Series/DataFrame 或陣列。可呼叫物件不得更改輸入 Series/DataFrame(儘管 pandas 不會檢查)。

other 標量、Series/DataFrame 或可呼叫物件

將 cond 為 True 的條目替換為其他對應值。如果 other 是可呼叫物件,則在 Series/DataFrame 上計算,應返回標量或 Series/DataFrame。可呼叫物件不得更改輸入 Series/DataFrame(儘管 pandas 不會檢查)。如果未指定,條目將填充為相應的 NULL 值(對於 numpy dtypes 為 np.nan,對於擴充套件 dtypes 為 pd.NA)。

inplace 布林值,預設為 False

是否在資料上就地執行操作。

axisint,預設為 None

如果需要,對齊軸。對於 Series,此引數未使用,預設為 0。

levelint,預設為 None

如果需要,對齊級別。

返回:

與呼叫者相同型別,如果 inplace=True 則為 None。

另請參見

DataFrame.where()

返回與 self 相同形狀的物件。

注意

mask 方法是 if-then 慣用法的應用。對於呼叫 DataFrame 中的每個元素,如果 condFalse,則使用該元素;否則使用 DataFrame other 中的對應元素。如果 other 的軸與 cond Series/DataFrame 的軸不對齊,則不對齊的索引位置將填充為 True。

DataFrame.where() 的簽名與 numpy.where() 不同。大致上,df1.where(m, df2) 等同於 np.where(m, df1, df2)

有關更多詳細資訊和示例,請參閱 indexing 中的 mask 文件。

物件的 dtype 優先。如果可以無損地完成,填充值將轉換為物件的 dtype。

示例

>>> s = pd.Series(range(5))
>>> s.where(s > 0)
0    NaN
1    1.0
2    2.0
3    3.0
4    4.0
dtype: float64
>>> s.mask(s > 0)
0    0.0
1    NaN
2    NaN
3    NaN
4    NaN
dtype: float64 
>>> s = pd.Series(range(5))
>>> t = pd.Series([True, False])
>>> s.where(t, 99)
0     0
1    99
2    99
3    99
4    99
dtype: int64
>>> s.mask(t, 99)
0    99
1     1
2    99
3    99
4    99
dtype: int64 
>>> s.where(s > 1, 10)
0    10
1    10
2    2
3    3
4    4
dtype: int64
>>> s.mask(s > 1, 10)
0     0
1     1
2    10
3    10
4    10
dtype: int64 
>>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])
>>> df
 A  B
0  0  1
1  2  3
2  4  5
3  6  7
4  8  9
>>> m = df % 3 == 0
>>> df.where(m, -df)
 A  B
0  0 -1
1 -2  3
2 -4 -5
3  6 -7
4 -8  9
>>> df.where(m, -df) == np.where(m, df, -df)
 A     B
0  True  True
1  True  True
2  True  True
3  True  True
4  True  True
>>> df.where(m, -df) == df.mask(~m, -df)
 A     B
0  True  True
1  True  True
2  True  True
3  True  True
4  True  True 

pandas.DataFrame.query

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.query.html

DataFrame.query(expr, *, inplace=False, **kwargs)

使用布林表示式查詢 DataFrame 的列。

引數:

exprstr

要評估的查詢字串。

您可以透過在變數前加上‘@’字元來引用環境中的變數,例如@a + b

您可以透過用反引號括起來來引用不是有效 Python 變數名的列名。因此,包含空格或標點符號(除了下劃線)或以數字開頭的列名必須用反引號括起來。 (例如,名為“Area(cm²)”的列將被引用為Area(cm²))。不能使用 Python 關鍵字(如“list”、“for”、“import”等)作為列名。

例如,如果您的列之一稱為a a,並且您想將其與b求和,您的查詢應為``a a + b

inplacebool

是否修改 DataFrame 而不是建立新的 DataFrame。

**kwargs

有關DataFrame.query()接受的關鍵字引數的完整詳細資訊,請參閱eval()的文件。

返回值:

DataFrame 或 None

由提供的查詢表示式生成的 DataFrame 或如果inplace=True則為 None。

另請參見

eval

評估描述 DataFrame 列操作的字串。

DataFrame.eval

評估描述 DataFrame 列操作的字串。

注意事項

該表示式的評估結果首先傳遞給DataFrame.loc,如果由於多維鍵(例如 DataFrame)而失敗,則結果將傳遞給DataFrame.__getitem__()

該方法使用頂層eval()函式來評估傳遞的查詢。

預設情況下,query()方法使用略微修改的 Python 語法。例如,&|(按位)運算子具有其布林表親andor的優先順序。這在語法上有效的 Python,但語義不同。

透過傳遞關鍵字引數parser='python'可以更改表示式的語義。這強制執行與 Python 空間中的評估相同的語義。同樣,您可以傳遞engine='python'以使用 Python 本身作為後端來評估表示式。與使用numexpr作為引擎相比,這不是推薦的,因為效率低下。

DataFrame.indexDataFrame.columns 屬性預設放置在 DataFrame 例項的查詢名稱空間中,這使您可以將幀的索引和列都視為幀中的列。識別符號 index 用於幀索引;您還可以使用索引的名稱來在查詢中標識它。請注意,Python 關鍵字不能用作識別符號。

有關更多詳細資訊和示例,請參閱 索引 中的 query 文件。

反引號引用的變數

反引號引用的變數被解析為字面的 Python 程式碼,並在內部轉換為 Python 有效的識別符號。這可能會導致以下問題。

在解析過程中,反引號引用的字串中的一些不允許的字元將被替換為允許作為 Python 識別符號的字串。這些字元包括 Python 中的所有運算子、空格字元、問號、感嘆號、美元符號和歐元符號。對於其他超出 ASCII 範圍(U+0001..U+007F)的字元以及在 PEP 3131 中未進一步指定的字元,查詢解析器將引發錯誤。這不包括空格字元不同於空格字元,但也包括井號(因為它用於註釋)和反引號本身(反引號也不能被轉義)。

在特殊情況下,用引號圍繞反引號的情況可能會讓解析器混淆。例如,it's` > `that's 會引發錯誤,因為它形成了一個帶有反引號的引號字串('s > that'`)。

還可以參考 Python 關於詞法分析的文件(docs.python.org/3/reference/lexical_analysis.html),結合 pandas.core.computation.parsing 中的原始碼。

示例

>>> df = pd.DataFrame({'A': range(1, 6),
...                    'B': range(10, 0, -2),
...                    'C C': range(10, 5, -1)})
>>> df
 A   B  C C
0  1  10   10
1  2   8    9
2  3   6    8
3  4   4    7
4  5   2    6
>>> df.query('A > B')
 A  B  C C
4  5  2    6 

前面的表示式等同於

>>> df[df.A > df.B]
 A  B  C C
4  5  2    6 

對於列名中帶有空格的列,可以使用反引號引用。

>>> df.query('B == `C C`')
 A   B  C C
0  1  10   10 

前面的表示式等同於

>>> df[df.B == df['C C']]
 A   B  C C
0  1  10   10 

pandas.DataFrame.__add__

pandas.pydata.org/docs/reference/api/pandas.DataFrame.__add__.html

DataFrame.__add__(other)

獲取 DataFrame 和其他物件的按列加法。

等同於 DataFrame.add(other)

引數:

other 標量、序列、Series、字典或 DataFrame

要新增到 DataFrame 的物件。

返回值:

DataFrame

other 新增到 DataFrame 的結果。

另請參閱

DataFrame.add

新增一個 DataFrame 和另一個物件,可以選擇按索引或按列進行新增。

示例

>>> df = pd.DataFrame({'height': [1.5, 2.6], 'weight': [500, 800]},
...                   index=['elk', 'moose'])
>>> df
 height  weight
elk       1.5     500
moose     2.6     800 

新增標量會影響所有行和列。

>>> df[['height', 'weight']] + 1.5
 height  weight
elk       3.0   501.5
moose     4.1   801.5 

列表的每個元素按順序新增到 DataFrame 的列中。

>>> df[['height', 'weight']] + [0.5, 1.5]
 height  weight
elk       2.0   501.5
moose     3.1   801.5 

字典的鍵根據列名對齊到 DataFrame;字典中的每個值都會新增到相應的列中。

>>> df[['height', 'weight']] + {'height': 0.5, 'weight': 1.5}
 height  weight
elk       2.0   501.5
moose     3.1   801.5 

當其他物件是Series時,其他物件的索引與 DataFrame 的列對齊。

>>> s1 = pd.Series([0.5, 1.5], index=['weight', 'height'])
>>> df[['height', 'weight']] + s1
 height  weight
elk       3.0   500.5
moose     4.1   800.5 

即使其他物件的索引與 DataFrame 的索引相同,Series 也不會重新定位。如果需要按索引對齊,請使用 axis=’index’ 的 DataFrame.add()

>>> s2 = pd.Series([0.5, 1.5], index=['elk', 'moose'])
>>> df[['height', 'weight']] + s2
 elk  height  moose  weight
elk    NaN     NaN    NaN     NaN
moose  NaN     NaN    NaN     NaN 
>>> df[['height', 'weight']].add(s2, axis='index')
 height  weight
elk       2.0   500.5
moose     4.1   801.5 

當其他物件是DataFrame時,列名和索引都會對齊。

>>> other = pd.DataFrame({'height': [0.2, 0.4, 0.6]},
...                      index=['elk', 'moose', 'deer'])
>>> df[['height', 'weight']] + other
 height  weight
deer      NaN     NaN
elk       1.7     NaN
moose     3.0     NaN 

pandas.DataFrame.add

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.add.html

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

獲取資料幀和其他元素的加法,逐元素(二元運算子加)。

等同於 dataframe + other,但支援在輸入的其中一個資料中替換缺失資料的填充值。具有反向版本 radd

靈活的包裝器中的一種(add、sub、mul、div、floordiv、mod、pow)以算術運算子為:+、-、*、/、//、%、**。

引數:

other 標量、序列、Series、字典或 DataFrame

任何單個或多個元素資料結構,或類似列表的物件。

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

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

level 整數或標籤

在一個級別上廣播,與傳遞的 MultiIndex 級別上的索引值匹配。

fill_value 浮點數或 None,預設為 None

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

返回:

DataFrame

算術操作的結果。

參見

DataFrame.add

新增資料幀。

DataFrame.sub

減去資料幀。

DataFrame.mul

乘以資料幀。

DataFrame.div

除以資料幀(浮點除法)。

DataFrame.truediv

除以資料幀(浮點除法)。

DataFrame.floordiv

除以資料幀(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

注意事項

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

示例

>>> 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 

使用運算子版本減去列表和 Series 的軸。

>>> 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 

使用軸乘以字典。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

使用運算子版本乘以不同形狀的 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 

按級別除以多重索引。

>>> 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.DataFrame.sub

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.sub.html

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

獲取 dataframe 和 other 的減法,逐元素進行(二元運算子 sub)。

等同於 dataframe - other,但支援用填充值替換輸入中的缺失資料。有反向版本,rsub。

在靈活的包裝器(add、sub、mul、div、floordiv、mod、pow)中進行算術運算:+、-、*、/、//、%、**。

引數:

other標量、序列、Series、字典或 DataFrame

任何單個或多個元素資料結構,或類似列表的物件。

axis

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

levelint 或標籤

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

fill_valuefloat 或 None,預設為 None

在進行計算之前,使用此值填充現有的缺失(NaN)值以及任何新的元素,以確保成功對齊 DataFrame。如果兩個對應的 DataFrame 位置的資料都缺失,則結果也將缺失。

返回:

DataFrame

算術運算的結果。

另請參見

DataFrame.add

新增 DataFrames。

DataFrame.sub

DataFrames 相減。

DataFrame.mul

將 DataFrames 相乘。

DataFrame.div

除以 DataFrames(浮點數除法)。

DataFrame.truediv

除以 DataFrames(浮點數除法)。

DataFrame.floordiv

除以 DataFrames(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

註釋

不匹配的索引將被合併。

示例

>>> 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 

沿軸減去列表和 Series。

>>> 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 

將字典按軸相乘。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

使用運算子版本將不同形狀的 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.DataFrame.mul

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.mul.html

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

獲取資料框和其他元素的乘法,逐元素(二進位制運算子 mul)。

等同於dataframe * other,但支援用一個 fill_value 替換一個輸入中缺失資料的支援。具有反向版本 rmul。

在靈活的包裝器中(add,sub,mul,div,floordiv,mod,pow)到算術運算子:+,-,*,/,//,%,**。

引數:

other標量,序列,系列,字典或資料框

任何單個或多個元素資料結構,或類似列表的物件。

axis

是否按索引(0 或'index')或列(1 或'columns')進行比較。對於系列輸入,要匹配系列索引的軸。

level整數或標籤

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

fill_value浮點數或無,預設為無

填充現有缺失(NaN)值,併為成功的資料框對齊所需的任何新元素,使用此值進行計算。如果兩個對應的資料框位置的資料都缺失,則結果將缺失。

返回:

DataFrame

算術操作的結果。

參見

DataFrame.add

新增資料框。

DataFrame.sub

減去資料框。

DataFrame.mul

乘以資料框。

DataFrame.div

劃分資料框(浮點除法)。

DataFrame.truediv

劃分資料框(浮點除法)。

DataFrame.floordiv

劃分資料框(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

注意事項

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

示例

>>> 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 

沿軸乘以字典。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

乘以具有運算子版本的不同形狀的資料框。

>>> 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.DataFrame.div

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.div.html

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

獲取資料框和其他資料的浮點除法,逐元素進行(二元運算子 truediv)。

等同於dataframe / other,但支援用填充值替換一個輸入中的缺失資料。具有反向版本 rtruediv。

在算術運算子的靈活封裝中(add,sub,mul,div,floordiv,mod,pow):+,-,*,/,//,%,**。

引數:

other標量,序列,Series,字典或 DataFrame

任何單個或多個元素資料結構,或類似列表的物件。

axis

是否按索引(0 或'index')或列(1 或'columns')進行比較。對於 Series 輸入,要匹配 Series 索引的軸。

level整數或標籤

在一個級別上進行廣播,匹配傳遞的 MultiIndex 級別上的 Index 值。

fill_value浮點數或 None,預設為 None

在計算之前,用此值填充現有的缺失(NaN)值,並且填充任何新的元素以成功地對齊 DataFrame。如果兩個對應 DataFrame 位置的資料都丟失,則結果將丟失。

返回:

DataFrame

算術運算的結果。

另請參閱

DataFrame.add

新增資料框。

DataFrame.sub

減去資料框。

DataFrame.mul

乘以資料框。

DataFrame.div

劃分資料框(浮點除法)。

DataFrame.truediv

劃分資料框(浮點除法)。

DataFrame.floordiv

劃分資料框(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

註釋

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

示例

>>> 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 

使用運算子版本按軸減去列表和 Series。

>>> 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 

乘以軸的字典。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

使用運算子版本乘以不同形狀的資料框。

>>> 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 

按級別劃分多索引。

>>> 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.DataFrame.truediv

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.truediv.html

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

獲取資料幀和其他資料的浮點除法,逐元素進行(二元運算子 truediv)。

等同於 dataframe / other,但支援在輸入中的一個缺失資料的位置替換 fill_value。具有反向版本 rtruediv。

在靈活的包裝器中(add、sub、mul、div、floordiv、mod、pow)進行算術運算子的操作:+、-、*、/、//、%、**。

引數:

other標量、序列、系列、字典或資料幀

任何單個或多個元素資料結構,或類似列表的物件。

axis

是否按索引(0 或 'index')或列(1 或 'columns')進行比較。對於系列輸入,要匹配系列索引的軸。

level整數或標籤

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

fill_valuefloat 或 None,預設為 None

在計算之前,使用此值填充現有缺失(NaN)值和任何新元素,以確保資料幀對齊成功。如果兩個對應資料幀位置的資料都缺失,則結果將缺失。

返回:

資料幀

算術操作的結果。

另請參見

DataFrame.add

新增資料幀。

DataFrame.sub

減去資料幀。

DataFrame.mul

乘以資料幀。

DataFrame.div

資料幀除法(浮點除法)。

DataFrame.truediv

資料幀除法(浮點除法)。

DataFrame.floordiv

資料幀除法(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

注意

不匹配的索引將被合併。

示例

>>> 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 

按軸乘以字典。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

使用運算子版本乘以不同形狀的資料幀。

>>> 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.DataFrame.floordiv

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.floordiv.html

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

獲取 DataFrame 和其他資料的整數除法,逐元素(二進位制運算子 floordiv)。

等同於 dataframe // other,但支援在輸入的一箇中替換缺失資料的 fill_value。反向版本是 rfloordiv。

在靈活的包裝器(add、sub、mul、div、floordiv、mod、pow)中進行算術運算:+、-、*、/、//、%、**。

引數:

other標量、序列、Series、字典或 DataFrame

任何單個或多個元素資料結構,或類似列表的物件。

axis

是否按索引(0 或'index')或列(1 或'columns')進行比較。對於 Series 輸入,要匹配 Series 索引的軸。

levelint 或 標籤

在一個級別上廣播,匹配透過 MultiIndex 級別傳遞的 Index 值。

fill_valuefloat 或 None,預設為 None

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

返回:

DataFrame

算術運算的結果。

另請參閱

DataFrame.add

新增 DataFrame。

DataFrame.sub

減去 DataFrame。

DataFrame.mul

乘以 DataFrame。

DataFrame.div

劃分 DataFrame(浮點除法)。

DataFrame.truediv

劃分 DataFrame(浮點除法)。

DataFrame.floordiv

劃分 DataFrame(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

注意事項

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

示例

>>> 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 

使用運算子版本將列表和 Series 按軸相減。

>>> 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 

沿軸相乘字典。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

使用運算子版本將不同形狀的 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.DataFrame.mod

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.mod.html

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

獲取 dataframe 和其他的模數,逐元素(二進位制運算子 mod)。

等同於 dataframe % other,但支援在輸入的一箇中替換缺失資料的 fill_value。使用反向版本,rmod。

在靈活的包裝器中(add、sub、mul、div、floordiv、mod、pow)對算術運算子進行操作:+、-、*、/、//、%、**。

引數:

other 標量,序列,Series,字典或 DataFrame

任何單個或多個元素的資料結構,或類似列表的物件。

axis

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

levelint 或 標籤

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

fill_valuefloat 或 None,預設 None

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

返回:

DataFrame

算術運算的結果。

另請參閱

DataFrame.add

新增 DataFrames。

DataFrame.sub

減去 DataFrames。

DataFrame.mul

乘以 DataFrames。

DataFrame.div

劃分 DataFrames(浮點數除法)。

DataFrame.truediv

劃分 DataFrames(浮點數除法)。

DataFrame.floordiv

劃分 DataFrames(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

註釋

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

示例

>>> 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 

使用運算子版本按軸減去列表和 Series。

>>> 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 

乘以軸的字典。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

使用運算子版本乘以不同形狀的 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 

按級別(level)劃分 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.DataFrame.pow

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.pow.html

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

獲取 DataFrame 和其他元素的指數冪,逐元素進行(二進位制運算子 pow)。

等同於 dataframe ** other,但支援用 fill_value 替換一個輸入中的缺失資料。帶有反向版本,rpow。

在靈活的算術運算子包裝器(add、sub、mul、div、floordiv、mod、pow)中:+、-、*、/、//、%、**。

引數:

other標量、序列、Series、字典或 DataFrame

任何單個或多個元素資料結構,或類似列表的物件。

axis

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

level整數或標籤

在透過的 MultiIndex 級別上廣播,與索引值匹配。

fill_valuefloat 或 None,預設為 None

在進行 DataFrame 對齊之前,使用此值填充現有缺失(NaN)值以及任何需要的新元素。如果對應 DataFrame 位置中的資料都丟失,則結果將丟失。

返回:

DataFrame

算術運算的結果。

另請參閱

DataFrame.add

新增 DataFrames。

DataFrame.sub

減去 DataFrames。

DataFrame.mul

將 DataFrames 相乘。

DataFrame.div

除 DataFrames(浮點除法)。

DataFrame.truediv

除 DataFrames(浮點除法)。

DataFrame.floordiv

除 DataFrames(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

注意事項

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

示例

>>> 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 

用運算子版本按軸減去列表和 Series。

>>> 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 

將字典乘以軸。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

用運算子版本將不同形狀的 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.DataFrame.dot

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.dot.html

DataFrame.dot(other)

計算 DataFrame 與 other 之間的矩陣乘積。

此方法計算 DataFrame 與另一個 Series、DataFrame 或 numpy 陣列的值之間的矩陣乘積。

也可以使用 self @ other 呼叫。

引數:

otherSeries、DataFrame 或類似陣列

與之計算矩陣乘積的其他物件。

返回:

Series 或 DataFrame

如果 other 是一個 Series,則返回 self 和 other 之間的矩陣乘積作為 Series。如果 other 是 DataFrame 或 numpy.array,則返回 self 和 other 的矩陣乘積作為 DataFrame 或 np.array。

另請參閱

Series.dot

用於 Series 的類似方法。

注意

DataFrame 和 other 的維度必須相容才能進行矩陣乘法計算。此外,DataFrame 的列名稱和 other 的索引必須包含相同的值,因為它們將在乘法之前對齊。

Series 的 dot 方法計算內積,而不是這裡的矩陣乘積。

示例

這裡我們將 DataFrame 與 Series 相乘。

>>> df = pd.DataFrame([[0, 1, -2, -1], [1, 1, 1, 1]])
>>> s = pd.Series([1, 1, 2, 1])
>>> df.dot(s)
0    -4
1     5
dtype: int64 

這裡我們將 DataFrame 與另一個 DataFrame 相乘。

>>> other = pd.DataFrame([[0, 1], [1, 2], [-1, -1], [2, 0]])
>>> df.dot(other)
 0   1
0   1   4
1   2   2 

注意 dot 方法給出與 @ 相同的結果

>>> df @ other
 0   1
0   1   4
1   2   2 

點方法也適用於 other 是 np.array 的情況。

>>> arr = np.array([[0, 1], [1, 2], [-1, -1], [2, 0]])
>>> df.dot(arr)
 0   1
0   1   4
1   2   2 

注意物件的洗牌不會改變結果。

>>> s2 = s.reindex([1, 0, 2, 3])
>>> df.dot(s2)
0    -4
1     5
dtype: int64 

pandas.DataFrame.radd

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.radd.html

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

獲取資料框和其他元素的加法,逐元素進行(二進位制運算子 radd)。

等同於other + dataframe,但支援在輸入中的一個缺失資料的情況下替換 fill_value。使用反向版本,新增。

在靈活的包裝器(add、sub、mul、div、floordiv、mod、pow)中進行算術運算:+、-、*、/、//、%、**。

引數:

其他標量、序列、Series、字典或 DataFrame。

任何單個或多個元素資料結構,或類似列表的物件。

是否按索引(0 或'index')或列(1 或'columns')進行比較。對於 Series 輸入,要匹配 Series 索引的軸。

級別整數或標籤。

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

fill_value浮點數或 None,預設為 None。

在計算之前,用這個值填充現有的缺失(NaN)值,以及任何需要成功資料框對齊的新元素。如果對應的資料框位置中的資料都缺失,則結果將缺失。

返回:

DataFrame

算術操作的結果。

參見

DataFrame.add

新增資料框。

DataFrame.sub

減去資料框。

DataFrame.mul

乘以資料框。

DataFrame.div

劃分資料框(浮點除法)。

DataFrame.truediv

劃分資料框(浮點除法)。

DataFrame.floordiv

劃分資料框(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

注意

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

示例。

>>> 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 

用運算子版本按軸減去列表和 Series。

>>> 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 

乘以軸的字典。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

用運算子版本減去不同形狀的資料框。

>>> 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.DataFrame.rsub

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.rsub.html

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

以逐元素方式獲取資料框和其他資料框的減法(二進位制運算子 rsub)。

等同於other - dataframe,但支援在其中一個輸入中替換缺失資料的填充值。有反向版本,sub。

在算術運算子的靈活包裝器(add、sub、mul、div、floordiv、mod、pow)中:+、-、*、/、//、%、**。

引數:

other標量、序列、系列、字典或資料框

任何單個或多個元素的資料結構,或類似列表的物件。

axis

是否按索引(0 或'index')或列(1 或'columns')進行比較。對於系列輸入,要匹配的軸是系列索引。

level整數或標籤

在透過傳遞的多重索引級別上廣播,匹配索引值。

fill_value浮點數或 None,預設為 None

在計算之前,用這個值填充現有的缺失(NaN)值,以及任何需要的新元素,以成功地對齊資料框。如果兩個對應的資料框位置的資料都缺失了,結果將是缺失的。

返回:

資料框

算術運算的結果。

另請參閱

DataFrame.add

新增資料框。

DataFrame.sub

減去資料框。

DataFrame.mul

乘以資料框。

DataFrame.div

除以資料框(浮點除法)。

DataFrame.truediv

除以資料框(浮點除法)。

DataFrame.floordiv

除以資料框(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

註釋

不匹配的索引將被併入一起。

示例

>>> 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 

按軸乘以字典。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

使用運算子版本將形狀不同的資料框相乘。

>>> 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 

按級別除以多重索引。

>>> 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.DataFrame.rmul

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.rmul.html

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

獲取 DataFrame 和其他元素的乘法,逐元素進行(二進位制運算子 rmul)。

等同於other * dataframe,但支援在輸入的其中一個資料中替換缺失資料的填充值。具有反向版本的乘法。

在算術運算子(+,-,,/,//,%,**)的靈活包裝器(add,sub,mul,div,floordiv,mod,pow)中之一:+,-,,/,//,%,**。

引數:

other標量,序列,Series,字典或 DataFrame

任何單個或多個元素資料結構,或類似列表的物件。

是否按索引比較(0 或'index')或列(1 或'columns')。對於 Series 輸入,要匹配的軸上的 Series 索引。

級別整數或標籤

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

fill_value浮點數或 None,預設為 None

在進行 DataFrame 對齊之前,用此值填充現有缺失(NaN)值以及任何需要成功 DataFrame 對齊的新元素。如果對應的 DataFrame 位置的資料都缺失,則結果將缺失。

返回:

DataFrame

算術運算的結果。

另請參閱

DataFrame.add

新增 DataFrame。

DataFrame.sub

減去 DataFrame。

DataFrame.mul

乘以 DataFrame。

DataFrame.div

劃分 DataFrame(浮點除法)。

DataFrame.truediv

劃分 DataFrame(浮點除法)。

DataFrame.floordiv

劃分 DataFrame(整數除法)。

DataFrame.mod

計算模(除法後的餘數)。

DataFrame.pow

計算指數冪。

注意事項

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

示例

>>> 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 

使用運算子版本按軸減去列表和 Series。

>>> 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 

將字典按軸乘以。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

使用運算子版本乘以形狀不同的 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 

按級別劃分一個多級索引。

>>> 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.DataFrame.rdiv

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.rdiv.html

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

獲取 DataFrame 和其他資料的浮點數除法,逐元素(二進位制運算子 rtruediv)。

等同於other / dataframe,但支援用一個輸入中的缺失資料的 fill_value 替換。使用反向版本,truediv。

在靈活的包裝器中(add、sub、mul、div、floordiv、mod、pow)到算術運算子:+、-、*、/、//、%、**。

引數:

other標量、序列、Series、字典或 DataFrame

任何單個或多個元素資料結構,或類似列表的物件。

axis

是否按索引(0 或'index')或列(1 或'columns')進行比較。對於 Series 輸入,與 Series 索引匹配的軸。

level整數或標籤

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

fill_value浮點數或 None,預設為 None

在進行 DataFrame 對齊之前,填充現有缺失值(NaN)和任何新需要的元素,使其成功對齊 DataFrame 的值。如果對應的 DataFrame 位置中的資料都缺失,則結果將缺失。

返回:

DataFrame

算術運算的結果。

另請參見

DataFrame.add

新增 DataFrames。

DataFrame.sub

減去 DataFrames。

DataFrame.mul

對 DataFrame 進行乘法運算。

DataFrame.div

對 DataFrame 進行除法運算(浮點數除法)。

DataFrame.truediv

對 DataFrame 進行除法運算(浮點數除法)。

DataFrame.floordiv

對 DataFrame 進行除法運算(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

注意

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

示例

>>> 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 

使用運算子版本按軸減去列表和 Series。

>>> 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 

按軸乘以字典。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

用運算子版本乘以不同形狀的 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.DataFrame.rtruediv

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.rtruediv.html

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

獲取 DataFrame 和其他的浮點除法,逐元素(二進位制運算子 rtruediv)。

等同於 other / dataframe,但支援用填充值替換輸入中的缺失資料。有逆向版本,truediv。

在柔性包裝器(add、sub、mul、div、floordiv、mod、pow)中之間執行算術運算子:+、-、*、/、//、%、**。

引數:

other標量、序列、Series、字典或 DataFrame

任何單個或多個元素的資料結構,或類似列表的物件。

是否按索引比較(0 或 'index')還是按列比較(1 或 'columns')。對於 Series 輸入,要匹配 Series 索引的軸。

級別int 或標籤

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

fill_valuefloat 或 None,預設為 None

在進行 DataFrame 對齊之前,填充現有缺失(NaN)值,並在計算成功的 DataFrame 對齊所需的任何新元素。如果兩個對應的 DataFrame 位置中的資料都缺失,則結果將缺失。

返回:

DataFrame

算術操作的結果。

另請參閱

DataFrame.add

將 DataFrame 相加。

DataFrame.sub

將 DataFrame 相減。

DataFrame.mul

將 DataFrame 相乘。

DataFrame.div

除以 DataFrame(浮點除法)。

DataFrame.truediv

除以 DataFrame(浮點除法)。

DataFrame.floordiv

除以 DataFrame(整數除法)。

DataFrame.mod

計算取模(除法後的餘數)。

DataFrame.pow

計算指數冪。

註釋

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

示例

>>> 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 

使用運算子版本按軸減去列表和 Series。

>>> 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 

將字典與軸相乘。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

將不同形狀的 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.DataFrame.rfloordiv

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.rfloordiv.html

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

獲取資料幀和其他的整數除法,逐元素進行(二進位制操作 rfloordiv)。

等同於 other // dataframe,但支援用 fill_value 替換輸入中的一個缺失資料。使用反向版本,floordiv。

在算術運算子的靈活包裝器中(add、sub、mul、div、floordiv、mod、pow):+、-、*、/、//、%、**。

引數:

other標量,序列,系列,字典或資料幀

任何單個或多個元素的資料結構,或類似列表的物件。

axis

是否按索引比較(0 或 ‘index’)或列(1 或 ‘columns’)。對於系列輸入,要匹配系列索引的軸。

level整數或標籤

在一個級別上進行廣播,匹配傳遞的 MultiIndex 級別上的索引值。

fill_value浮點數或無,預設為 None

在計算之前,使用此值填充現有的缺失值(NaN),以及為了成功的資料幀對齊所需的任何新元素。如果兩個對應的資料幀位置都缺少資料,則結果將缺失。

返回:

資料幀

算術操作的結果。

另請參閱

DataFrame.add

新增資料幀。

DataFrame.sub

減去資料幀。

DataFrame.mul

乘以資料幀。

DataFrame.div

除以資料幀(浮點除法)。

DataFrame.truediv

除以資料幀(浮點除法)。

DataFrame.floordiv

除以資料幀(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

註釋

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

示例

>>> 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 

乘以字典按軸。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

用運算子版本乘以不同形狀的資料幀。

>>> 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.DataFrame.rmod

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.rmod.html

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

以元素方式獲取資料框和其他資料的模(二元運算子 rmod)。

等效於other % dataframe,但支援在輸入中的一個缺失資料時替換填充值的支援。使用反向版本 mod。

在對算術運算子的靈活包裝(add、sub、mul、div、floordiv、mod、pow)中:+、-、*、/、//、%、**。

引數:

other標量、序列、Series、字典或 DataFrame

任何單個或多個元素資料結構,或類似列表的物件。

axis

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

level整數或標籤

在一個級別上廣播,匹配傳遞的 MultiIndex 級別上的 Index 值。

fill_value浮點數或無,預設為無

在計算之前,用這個值填充現有的缺失(NaN)值,以及成功 DataFrame 對齊所需的任何新元素。如果對應的 DataFrame 位置都缺少資料,結果將是缺失的。

返回:

DataFrame

算術操作的結果。

另請參閱

DataFrame.add

新增資料框。

DataFrame.sub

減去資料框。

DataFrame.mul

乘以資料框。

DataFrame.div

劃分資料框(浮點數除法)。

DataFrame.truediv

劃分資料框(浮點數除法)。

DataFrame.floordiv

劃分資料框(整數除法)。

DataFrame.mod

計算模(除法後的餘數)。

DataFrame.pow

計算指數冪。

註釋

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

示例

>>> 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 

透過軸用運算子版本減去列表和 Series。

>>> 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 

用軸乘以字典。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

用運算子版本乘以不同形狀的資料框。

>>> 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.DataFrame.rpow

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.rpow.html

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

獲取資料框和其他的指數冪,逐元素(二進位制運算子 rpow)。

等同於other ** dataframe,但支援用填充值替換其中一個輸入中的缺失資料。具有反向版本,pow。

在靈活的包裝器(add、sub、mul、div、floordiv、mod、pow)中進行算術運算:+、-、*、/、//、%、**。

引數:

其他標量、序列、Series、字典或 DataFrame

任何單個或多個元素資料結構,或類似列表的物件。

是否按索引(0 或'index')或列(1 或'columns')進行比較。對於 Series 輸���,要匹配 Series 索引。

級別整數或標籤

在一個級別上廣播,匹配傳遞的 MultiIndex 級別上的 Index 值。

fill_value浮點數或 None,預設為 None

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

返回:

資料框

算術操作的結果。

另請參閱

DataFrame.add

新增資料框。

DataFrame.sub

減去資料框。

DataFrame.mul

乘以資料框。

DataFrame.div

劃分資料框(浮點除法)。

DataFrame.truediv

劃分資料框(浮點除法)。

DataFrame.floordiv

劃分資料框(整數除法)。

DataFrame.mod

計算模數(除法後的餘數)。

DataFrame.pow

計算指數冪。

注意

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

示例

>>> 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 

透過軸用運算子版本減去列表和 Series。

>>> 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 

透過軸乘以字典。

>>> df.mul({'angles': 0, 'degrees': 2})
 angles  degrees
circle           0      720
triangle         0      360
rectangle        0      720 
>>> df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')
 angles  degrees
circle           0        0
triangle         6      360
rectangle       12     1080 

用運算子版本乘以不同形狀的資料框。

>>> 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.DataFrame.lt

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.lt.html

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

獲取 DataFrame 和其他物件逐元素的小於比較結果(二進位制運算子 lt)。

與比較運算子的靈活封裝(eq、ne、le、lt、ge、gt)。

等同於 ==、!=、<=、<、>=、>,支援選擇軸(行或列)和級別進行比較。

引數:

other標量、序列、Series 或 DataFrame

任何單個或多個元素資料結構,或類似列表的物件。

axis,預設為 ‘columns’

是否按索引(0 或 ‘index’)或列(1 或 ‘columns’)進行比較。

level整數或標籤

在一個級別上進行廣播,匹配傳遞的 MultiIndex 級別上的索引值。

返回:

布林值的 DataFrame

比較的結果。

另請參閱

DataFrame.eq

逐元素比較 DataFrame 是否相等。

DataFrame.ne

逐元素比較 DataFrame 是否不等。

DataFrame.le

逐元素比較 DataFrame 是否小於或等於另一個 DataFrame。

DataFrame.lt

逐元素比較 DataFrame 是否嚴格小於。

DataFrame.ge

逐元素比較 DataFrame 是否大於或等於另一個 DataFrame。

DataFrame.gt

逐元素比較 DataFrame 是否嚴格大於。

注意

不匹配的索引將被合併在一起。NaN 值被視為不同(即 NaN != NaN)。

示例

>>> df = pd.DataFrame({'cost': [250, 150, 100],
...                    'revenue': [100, 250, 300]},
...                   index=['A', 'B', 'C'])
>>> df
 cost  revenue
A   250      100
B   150      250
C   100      300 

使用標量進行比較,可以使用運算子或方法:

>>> df == 100
 cost  revenue
A  False     True
B  False    False
C   True    False 
>>> df.eq(100)
 cost  revenue
A  False     True
B  False    False
C   True    False 

當其他是一個 Series 時,DataFrame 的列與其他的索引對齊並進行廣播:

>>> df != pd.Series([100, 250], index=["cost", "revenue"])
 cost  revenue
A   True     True
B   True    False
C  False     True 

使用該方法來控制廣播軸:

>>> df.ne(pd.Series([100, 300], index=["A", "D"]), axis='index')
 cost  revenue
A  True    False
B  True     True
C  True     True
D  True     True 

當與任意序列進行比較時,列數必須與其他元素的數量相匹配:

>>> df == [250, 100]
 cost  revenue
A   True     True
B  False    False
C  False    False 

使用該方法來控制軸:

>>> df.eq([250, 250, 100], axis='index')
 cost  revenue
A   True    False
B  False     True
C   True    False 

與不同形狀的 DataFrame 進行比較。

>>> other = pd.DataFrame({'revenue': [300, 250, 100, 150]},
...                      index=['A', 'B', 'C', 'D'])
>>> other
 revenue
A      300
B      250
C      100
D      150 
>>> df.gt(other)
 cost  revenue
A  False    False
B  False    False
C  False     True
D  False    False 

與 MultiIndex 按級別進行比較。

>>> df_multindex = pd.DataFrame({'cost': [250, 150, 100, 150, 300, 220],
...                              'revenue': [100, 250, 300, 200, 175, 225]},
...                             index=[['Q1', 'Q1', 'Q1', 'Q2', 'Q2', 'Q2'],
...                                    ['A', 'B', 'C', 'A', 'B', 'C']])
>>> df_multindex
 cost  revenue
Q1 A   250      100
 B   150      250
 C   100      300
Q2 A   150      200
 B   300      175
 C   220      225 
>>> df.le(df_multindex, level=1)
 cost  revenue
Q1 A   True     True
 B   True     True
 C   True     True
Q2 A  False     True
 B   True    False
 C   True    False 

相關文章