Pandas-2-2-中文文档-二十-

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 
posted @ 2024-06-24 16:14  绝不原创的飞龙  阅读(2)  评论(0编辑  收藏  举报