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'])
>>> dfspecies 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'])
>>> dA 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)对。
注意事项
-
因为
iterrows
为每行返回一个 Series,它不会
在行之间保留数据类型(对于 DataFrame,数据类型在列之间保留)。为了在遍历行时保留数据类型,最好使用
itertuples()
返回值为命名元组的方法,通常比iterrows
更快。 -
在迭代过程中,您不应该
修改
正在迭代的内容。这并不保证在所有情况下都有效。根据数据类型,迭代器返回的是副本而不是视图,对其进行写入将不会产生任何效果。
示例
>>> 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'])
>>> dfnum_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'))
>>> dfname 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
>>> dfname 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']})
>>> dfanimal
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'])
>>> dfnum_legs num_wings
class animal locomotion
mammal cat walks 4 0dog walks 4 0bat 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 0dog walks 0bat 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"),
... )
>>> dftemp_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'])
>>> dfnum_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 中的每个元素,如果 cond
为 True
则使用该元素;否则使用 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'])
>>> dfA 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 中的每个元素,如果 cond
为 False
,则使用该元素;否则使用 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'])
>>> dfA 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 语法。例如,&
和|
(按位)运算符具有其布尔表亲and
和or
的优先级。这是在语法上有效的 Python,但语义不同。
通过传递关键字参数parser='python'
可以更改表达式的语义。这强制执行与 Python 空间中的评估相同的语义。同样,您可以传递engine='python'
以使用 Python 本身作为后端来评估表达式。与使用numexpr
作为引擎相比,这不是推荐的,因为效率低下。
DataFrame.index
和 DataFrame.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)})
>>> dfA 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'])
>>> dfheight weight
elk 1.5 500
moose 2.6 800
添加标量会影响所有行和列。
>>> df[['height', 'weight']] + 1.5height 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']] + s1height 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']] + s2elk 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']] + otherheight 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
添加一个标量的操作符版本,返回相同的结果。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
添加一个标量,并返回相同的结果的操作符版本。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
添加一个标量与运算符版本,返回相同的结果。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
添加一个标量,使用操作符版本返回相同的结果。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
使用运算符版本添加一个标量,返回相同的结果。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
使用运算符版本添加一个标量,返回相同的结果。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
添加一个标量,使用操作符版本返回相同的结果。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
使用操作符版本添加标量,返回相同结果。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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 @ other0 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
添加一个返回相同结果的操作符版本的标量。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
添加一个标量与运算符版本,返回相同的结果。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
使用返回相同结果的运算符版本添加标量。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
使用运算符版本添加一个标量,返回相同的结果。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
使用操作符版本添加标量,返回相同的结果。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
使用运算符版本添加标量,返回相同的结果。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
添加一个返回相同结果的标量和运算符版本。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfangles degrees
circle 0 360
triangle 3 180
rectangle 4 360
添加一个标量,使用运算符版本返回相同的结果。
>>> df + 1angles 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'])
>>> otherangles
circle 0
triangle 3
rectangle 4
>>> df * otherangles 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_multindexangles degrees
A circle 0 360triangle 3 180rectangle 4 360
B square 4 360pentagon 5 540hexagon 6 720
>>> df.div(df_multindex, level=1, fill_value=0)angles degrees
A circle NaN 1.0triangle 1.0 1.0rectangle 1.0 1.0
B square 0.0 0.0pentagon 0.0 0.0hexagon 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'])
>>> dfcost revenue
A 250 100
B 150 250
C 100 300
使用标量进行比较,可以使用运算符或方法:
>>> df == 100cost 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'])
>>> otherrevenue
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_multindexcost revenue
Q1 A 250 100B 150 250C 100 300
Q2 A 150 200B 300 175C 220 225
>>> df.le(df_multindex, level=1)cost revenue
Q1 A True TrueB True TrueC True True
Q2 A False TrueB True FalseC True False