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