教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

數(shù)據(jù)分析工具Pandas:算術(shù)運(yùn)算與數(shù)據(jù)對齊

更新時間:2022年10月07日14時20分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  Pandas執(zhí)行算術(shù)運(yùn)算時,會先按照索引進(jìn)行對齊,對齊以后再進(jìn)行相應(yīng)的運(yùn)算,沒有對齊的位置會用NaN進(jìn)行補(bǔ)齊。其中,Series是按行索引對齊的,DataFrame是按行索引、列索引對齊的。

  假設(shè)有兩個Series對象,創(chuàng)建它們的示例代碼如下。

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

  上述示例中創(chuàng)建了兩個Series對象:obj_one和obj_two,從輸出結(jié)果可以看出,obj_one比obj_two少兩行數(shù)據(jù)。

  如果要對obj_one與obj_two進(jìn)行加法運(yùn)算,則會將它們按照索引先進(jìn)行對齊,對齊的位置進(jìn)行加法運(yùn)算,沒有對齊的位置使用NAN值進(jìn)行填充,具體代碼如下。

In [47]: obj_one + obj_two   # 執(zhí)行相加運(yùn)算
Out[47]:
0    30.0
1    32.0
2    34.0
3     NaN
4     NaN
dtype: float64

  如果希望不使用NAN填充缺失數(shù)據(jù),則可以在調(diào)用add方法時提供fill_value參數(shù)的值,fill_value將會使用對象中存在的數(shù)據(jù)進(jìn)行補(bǔ)充,具體示例代碼如下。

In [48]: obj_one.add(obj_two, fill_value=0)   # 執(zhí)行加法運(yùn)算,補(bǔ)充缺失值
Out[48]:
0    30.0
1    32.0
2    34.0
3    23.0
4    24.0
dtype: float64

  當(dāng)然其他的算術(shù)運(yùn)算也是類似的,這里就不再過多贅述了。

0 分享到:
和我們在線交談!