DataFrame的四则运算, 涉及到标量数字与数组(列表、series、字典、dataframe)。我们先构造实验数据df
import pandas as pd
df = pd.DataFrame({'angles': [0, 3, 4],
'degrees': [360, 180, 360]},
index=['circle', 'triangle', 'rectangle'])
df
一、标量
这里体现的就是pandas独有的广播特性, 使得df可以直接与标量进行运算。以加法为例,
df + 10
#df.add(10)
其他算法
#df - 10
#df.sub(10)
#df * 10
#df.mul(10)
#df / 10
#df.div(10)
二、数组
df与数组(列表、series、字典、dataframe)等进行运算
df
df有两列, [1, 2]有两个元素。默认轴方向为columns, 两者相减
df - [1, 2]
#df.sub([1, 2], axis='columns')
生成一个series数据, 有三行, 索引名设置为circle、triangle、rectangle。
df与series相减, 轴方向设置为index
series = pd.Series([1, 1, 1],
index=['circle', 'triangle', 'rectangle'])
df.sub(series, axis='index')
字典有两个字段名, 与df字段名相同。 轴方向设置为columns, 两者相乘
df.mul({'angles': 0, 'degrees': 2}, axis='columns')
字典有三个字段名, 与df的index相同。 轴方向设置为index, 两者相乘
df.mul({'circle': 0, 'triangle': 2, 'rectangle': 3}, axis='index')