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

全國(guó)咨詢/投訴熱線:400-618-4000

Pandas算術(shù)運(yùn)算和數(shù)據(jù)對(duì)齊【Pandas索引操作演示】

更新時(shí)間:2021年07月30日16時(shí)09分 來(lái)源:傳智教育 瀏覽次數(shù):


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

假設(shè)有兩個(gè)Series對(duì)象,創(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)建了兩個(gè)Series對(duì)象:obj_one和obj_two,從輸出結(jié)果可以看出,obj_one比obj_two少兩行數(shù)據(jù)。

如果要對(duì)obj_one與obj_two進(jìn)行加法運(yùn)算,則會(huì)將它們按照索引先進(jìn)行對(duì)齊,對(duì)齊的位置進(jìn)行加法運(yùn)算,沒(méi)有對(duì)齊的位置使用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方法時(shí)提供fill_value參數(shù)的值,fill_value將會(huì)使用對(duì)象中存在的數(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)算也是類似的,這里就不再過(guò)多贅述了。





猜你喜歡:

NumPy常用的數(shù)據(jù)類型有哪些?

Shell怎樣實(shí)現(xiàn)定時(shí)日志數(shù)據(jù)采集?【案例展示】

fsimage和edit的區(qū)別【大數(shù)據(jù)面試問(wèn)題】

傳智教育python+大數(shù)據(jù)開(kāi)發(fā)課程

0 分享到:
和我們?cè)诰€交談!