标题中的英文首字母大写比较规范,但在python实际使用中均为小写。
5.Pandas的数据运算和算术对齐
5.1 Series相加
from pandas import Series
s1 = Series([7.3, -2.5, 3.4, 1.5], index=['a', 'c', 'd', 'e'])
s2 = Series([-2.1, 3.6, -1.5, 4, 3.1], index=['a', 'c', 'e', 'f', 'g'])
s1 + s2
上面一段代码的运行结果如下图所示:
image.png
5.2 DataFrame相加
对于DataFrame,对齐会同时发生在行和列上,两个DataFrame对象相加后,其索引和列会取并集,缺省值用NaN。
from pandas import DataFrame
import numpy as np
kwargs = dict(
columns = list('bcd'),
index = ['北京','上海','广州']
)
df1 = DataFrame(np.arange(9).reshape(3,3),**kwargs)
kwargs = dict(
columns = list('bde'),
index = ['北京','上海','重庆','天津']
)
df2 = DataFrame(np.arange(12).reshape(4,3),**kwargs)
df1 + df2
上面一段代码的运行结果如下图所示:
image.png
设置缺省时填充值
image.png
5.3 DataFrame和Series之间的运算
默认情况下,DataFrame和Series之间的算术运算会将Series的索引匹配到DataFram的列,然后沿着行一直向下广播,如下图所示:
image.png
.读者可以复制下面代码运行,然后查看结果是否相同:
from pandas import Series,DataFrame
import numpy as np
df = DataFrame(np.arange(12).reshape((4,3)),
columns=list("bde"),
index=["Utah","Ohio","Texas","Oregon"])
print("df:",df,sep='\n')
series = df.iloc[0]
print("series:",series,sep='\n')
print("df - series:", df-series,sep='\n')
5.4 Pandas中的函数应用和映射
5.4.1 Numpy中的函数可以用于操作pandas对象
image.png
.读者可以复制下面代码运行&