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



广而告之