教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

数据分析工具Pandas:算术运算与数据对齐

更新时间:2022年10月07日14时20分 来源:传智教育 浏览次数:

好口碑IT培训

  Pandas执行算术运算时,会先按照索引进行对齐,对齐以后再进行相应的运算,没有对齐的位置会用NaN进行补齐。其中,Series是按行索引对齐的,DataFrame是按行索引、列索引对齐的。

  假设有两个Series对象,创建它们的示例代码如下。

In [45]: obj_one=pd.Series(range(10, 13), index=range(3))
         obj_one
Out[45]:
0    10
1    11
2    12
dtype:  int64
In [46] : obj_two=pd.Series(range(20, 25), index=range(5))
          obj_two
Out[46]:
0    20
1    21
2    22
3    23
4    24
dtype:  int32

  上述示例中创建了两个Series对象:obj_one和obj_two,从输出结果可以看出,obj_one比obj_two少两行数据。

  如果要对obj_one与obj_two进行加法运算,则会将它们按照索引先进行对齐,对齐的位置进行加法运算,没有对齐的位置使用NAN值进行填充,具体代码如下。

In [47]: obj_one + obj_two   # 执行相加运算
Out[47]:
0    30.0
1    32.0
2    34.0
3     NaN
4     NaN
dtype: float64

  如果希望不使用NAN填充缺失数据,则可以在调用add方法时提供fill_value参数的值,fill_value将会使用对象中存在的数据进行补充,具体示例代码如下。

In [48]: obj_one.add(obj_two, fill_value=0)   # 执行加法运算,补充缺失值
Out[48]:
0    30.0
1    32.0
2    34.0
3    23.0
4    24.0
dtype: float64

  当然其他的算术运算也是类似的,这里就不再过多赘述了。

0 分享到:
和我们在线交谈!