如下所示:
一、Series与Series
1
2
|
s1 = Series([ 1 , 3 , 5 , 7 ],index = [ 'a' , 'b' , 'c' , 'd' ])
s2 = Series([ 2 , 4 , 6 , 8 ],index = [ 'a' , 'b' , 'c' , 'e' ])
|
索引对齐项相加,不对齐项的值取NaN
1
2
3
4
5
6
7
8
|
s1 + s2
1
a 3.0
b 7.0
c 11.0
d NaN
e NaN
dtype: float64
|
二、DataFrame与DataFrame
1
2
3
4
5
6
7
|
data1 = { '水果' :[ '苹果' , '梨' , '草莓' ],
'数量' :[ 3 , 2 , 5 ],
'价格' :[ 10 , 9 , 8 ]}
data2 = { '数量' :[ 3 , 2 , 5 , 6 ],
'价格' :[ 10 , 9 , 8 , 7 ]}
df1 = DataFrame(data1)
df2 = DataFrame(data2)
|
在行和列上同时对齐后进行计算,如果找不到对应项则取NaN
1
|
print (df1 * df2)
|
1
2
3
4
5
|
价格 数量 水果
0 100.0 9.0 NaN
1 81.0 4.0 NaN
2 64.0 25.0 NaN
3 NaN NaN NaN
|
三、Series与DataFrame
1.利用广播实现DataFrame与某行的运算
1
|
print (df2 + df2.iloc[ 0 ]) # 将第0行加到所有行上
|
1
2
3
4
5
|
价格 数量
0 20 6
1 19 5
2 18 8
3 17 9
|
2.利用广播实现DataFrame与某列的运算(指定轴axis=0)
1
|
print (df2.sub(df2.iloc[:, 0 ],axis = 0 ))
|
1
2
3
4
5
|
价格 数量
0 0 - 7
1 0 - 7
2 0 - 3
3 0 - 1
|
3.运算时如果无法对齐,则填充NaN
1
2
|
s = Series([ 1 , 1 , 1 ],index = [ '数量' , '价格' , '重量' ])
print (df2 + s)
|
1
2
3
4
5
|
价格 数量 重量
0 11 4 NaN
1 10 3 NaN
2 9 6 NaN
3 8 7 NaN
|
以上这篇浅谈Pandas:Series和DataFrame间的算术元素就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/bqw18744018044/article/details/79935676