运算函数
加:+、add
减:-、sub
乘:*、mul
除:/、div
pandas与常数
a = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]],columns=['a', 'b', 'c'], index=['r1', 'r2', 'r3'])
Out[54]:
a b c
r1 1 2 3
r2 4 5 6
r3 7 8 9
a+2
Out[85]:
a b c
r1 3 4 5
r2 6 7 8
r3 9 10 11
a-2
Out[86]:
a b c
r1 -1 0 1
r2 2 3 4
r3 5 6 7
a*2
Out[87]:
a b c
r1 2 4 6
r2 8 10 12
r3 14 16 18
a/2
Out[88]:
a b c
r1 0.5 1.0 1.5
r2 2.0 2.5 3.0
r3 3.5 4.0 4.5
pandas与列表类
列表类可以是list、Series等
pandas与列表相乘有两种方式:按行乘、按列乘
a = pd.DataFrame([[1, 2, 3], [4, 5, 6]],columns=['a', 'b', 'c'], index=['r1', 'r2'])
a b c
r1 1 2 3
r2 4 5 6
a.add([1, 2], axis=0) #按列加,列表长度需要等于数据框行数
Out[5]:
a b c
r1 2 3 4
r2 6 7 8
a.add([1, 2, 3], axis=1) #按行加,列表长度需要等于数据框列数
Out[7]:
a b c
r1 2 4 6
r2 5 7 9
pandas与pandas
两个pandas和pandas运算是根据行列索引进行的,相同列相同行(指行列索引)对应的数据做运算,不是共同拥有的行列索引也会保留下来,但是对应的结果为NaN
n [8]: a = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]],columns=['a', 'b', 'c'], index=['r1', 'r2', 'r3'])
a b c
r1 1 2 3
r2 4 5 6
r3 7 8 9
b = pd.DataFrame([[0, 0], [-1, -1]], columns=['b', 'd'], index=['r2', 'r3'])
Out[11]:
b d
r2 0 0
r3 -1 -1
a*b
Out[12]:
a b c d
r1 NaN NaN NaN NaN
r2 NaN 0.0 NaN NaN
r3 NaN -8.0 NaN NaN