如下所示:
import numpy as npimport pandas as pdfrom pandas import Series,DataFrame
一、Series與Series
s1 = Series([1,3,5,7],index=['a','b','c','d'])s2 = Series([2,4,6,8],index=['a','b','c','e'])
索引對(duì)齊項(xiàng)相加,不對(duì)齊項(xiàng)的值取NaN
s1+s21a 3.0b 7.0c 11.0d NaNe NaNdtype: float64
二、DataFrame與DataFrame
data1 = {'水果':['蘋果','梨','草莓'], '數(shù)量':[3,2,5], '價(jià)格':[10,9,8]}data2 = {'數(shù)量':[3,2,5,6], '價(jià)格':[10,9,8,7]}df1 = DataFrame(data1)df2 = DataFrame(data2)在行和列上同時(shí)對(duì)齊后進(jìn)行計(jì)算,如果找不到對(duì)應(yīng)項(xiàng)則取NaN
print(df1*df2)
價(jià)格 數(shù)量 水果0 100.0 9.0 NaN1 81.0 4.0 NaN2 64.0 25.0 NaN3 NaN NaN NaN
三、Series與DataFrame
1.利用廣播實(shí)現(xiàn)DataFrame與某行的運(yùn)算
print(df2+df2.iloc[0]) # 將第0行加到所有行上
價(jià)格 數(shù)量0 20 61 19 52 18 83 17 9
2.利用廣播實(shí)現(xiàn)DataFrame與某列的運(yùn)算(指定軸axis=0)
print(df2.sub(df2.iloc[:,0],axis=0))
價(jià)格 數(shù)量0 0 -71 0 -72 0 -33 0 -1
3.運(yùn)算時(shí)如果無法對(duì)齊,則填充NaN
s = Series([1,1,1],index=['數(shù)量','價(jià)格','重量'])print(df2+s)
價(jià)格 數(shù)量 重量0 11 4 NaN1 10 3 NaN2 9 6 NaN3 8 7 NaN
以上這篇淺談Pandas:Series和DataFrame間的算術(shù)元素就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選