原则
Series索引值与Dataframe列名相同的项进行相加。
import pandas as pd
s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
df = pd.DataFrame({
'a':[10, 20, 30, 40],
'c':[100, 200, 300, 400],
'b':[1000, 2000, 3000, 4000],
'd':[10000, 20000, 30000, 40000]
})
print(df)
print('\n')
print(df+s)
运行结果
a c b d
0 10 100 1000 10000
1 20 200 2000 20000
2 30 300 3000 30000
3 40 400 4000 40000
a b c d
0 11 1002 103 10004
1 21 2002 203 20004
2 31 3002 303 30004
3 41 4002 403 40004
函数计算(可以指定axis按列执行计算)
add()、sub()、mul()、div()
import pandas as pd
s = pd.Series([1, 2, 3])
df = pd.DataFrame({
0:[10, 20, 30, 40],
1:[100, 200, 300, 400],
2:[1000, 2000, 3000, 4000],
3:[10000, 20000, 30000, 40000]
})
print(df)
print('\n')
print(df + s)
print('\n')
print(df.add(s, axis=0))
运行结果
0 1 2 3
0 10 100 1000 10000
1 20 200 2000 20000
2 30 300 3000 30000
3 40 400 4000 40000
0 1 2 3
0 11.0 102.0 1003.0 NaN
1 21.0 202.0 2003.0 NaN
2 31.0 302.0 3003.0 NaN
3 41.0 402.0 4003.0 NaN
0 1 2 3
0 11.0 101.0 1001.0 10001.0
1 22.0 202.0 2002.0 20002.0
2 33.0 303.0 3003.0 30003.0
3 NaN NaN NaN NaN