1. Series相當于數組numpy.array類似
s1=pd.Series([1,2,4,6,7,2])s2=pd.Series([4,3,1,57,8],index=['a','b','c','d','e'])print s2obj1=s2.values# print obj1obj2=s2.index# print obj2# print s2[s2>4]# print s2['b']
1.Series 它是有索引,如果我們未指定索引,則是以數字自動生成。
下面是一些例子:
obj=Series([4,7,-5,3])print obj#輸出結果如下:# 0 4# 1 7# 2 -5# 3 3print obj.values #取出它的值#[ 4 7 -5 3]print obj.index #取出索引值#輸出結果如下:# RangeIndex(start=0, stop=4, step=1)obj2=Series([4,7,-5,3],index=['d','b','a','c'])print obj2#輸出結果如下:# d 4# b 7# a -5# c 3#可以通過索引的方式選擇Series中的單個或一組值print obj2['a'] #輸出結果:-5print obj2['d'] #輸出結是:4
2. Series的一些操作
Series.order()進行排序,而DataFrame則用sort或者sort_index
print ratings_by_title.order(ascending=False)[:10]
(1)Numpy數組運算(根據布爾型數組進行過濾、標量乘法、應用數學函數等)都會保留索引和值之間的鏈接
print obj2[obj2>0] #取出>0的值#輸出結果如下:# d 4# b 7# c 3print obj2*2#輸出結果如下:# d 8# b 14# a -10# c 6
(2)還可以將Series看成是一個定長的有序字典,因為它是索引值到數據值的一個映射。它可以用在許多原來需要字典參數的函數中。
print 'b' in obj2 #obj2中有索引'b'?若有就返回'True'
(3)如果數據被存在一個python字典中,也可以直接通過這個字典來創建Series.
sdata={'Ohio':35000,'Texax':71000,'Oregon':16000,'Utah':5000}obj3=Series(sdata)print obj3#輸出結果如下:# Ohio 35000# Oregon 16000# Texax 71000# Utah 5000#注:如果只傳入一個字典,則結果Series中的索引就是原字典的鍵(有序排列)states=['California','Ohio','Oregon','Texax']obj4=Series(sdata,index=states) #將sdata字典創建Series,索引用states來創建print obj4#California在sdata中沒有相應的值,故是NaN缺省值# California NaN# Ohio 35000.0# Oregon 16000.0# Texax 71000.0
(4)pandas中的isnull和notnull函數可以用于檢測缺失數據,Series也有類似的方法
print pd.isnull(obj4)#輸出結果如下:# California True# Ohio False# Oregon False# Texax False# dtype: boolprint pd.notnull(obj4)#輸出結果如下:# California False# Ohio True# Oregon True# Texax True# dtype: boolprint obj4.isnull() #Series的isnull方法#輸出結果如下:# California True# Ohio False# Oregon False# Texax False# dtype: bool
新聞熱點
疑難解答