import numpy as np
import pandas as pd
from pandas import series,dataframe
pandas中主要有兩種資料結構,分別是:series和dataframe。
series:一種類似於一維陣列的物件,是由一組資料(各種numpy資料型別)以及一組與之相關的資料標籤(即索引)組成。僅有一組資料也可以產生簡單的series物件。注意:series中的索引值是可以重複的。
dataframe:乙個**型的資料結構,包含有一組有序的列,每列可以是不同的值型別(數值,字串,布林型等),dataframe即有行索引也有列索引,可以被看做是由series組成的字典。
通過一維陣列去建立
arr = np.array([1,2,3,4])
ser1 = series(arr)
ser1.values
#獲得值組成的一維陣列
ser1.index
#獲得索引值的描述,start,stop,step
ser1.index=['a', 'b','c','d'] #更改索引值
ser1['b'] # 索引形式獲取某值
ser1[1] # 下標形式獲取某值
直接建立series陣列
ser2 = series([99,100,98,10],index=['a', 'b','c','d'])
ser22 = series(data=[89,87,86],dtype=np.float64,index=[u'數學',u'語文',u'英語'])
通過字典形式建立
dict1 =
ser3 = series(dict1) # 字典的鍵對應ser的索引,字典的值對應ser的資料
注意:
1. 索引可以建立時賦值,也可以後期賦值
2. 索引可以重複,下標不能重複
3. 字典本身鍵和值有對應關係,字典的鍵不能重複
series值的獲取主要有以下兩種方式:
1.通過方括號+索引的方式讀取對應的索引的資料,有可能返回多條資料
2. 通過方括號+下標的方式讀取對應的下標值的資料,下標值取值的範圍為:[0,len(series.values)];另外下標值也可以是負數,表示從右往左獲取資料
series獲取多個值的方式樂視numpy中的ndarray的切片操作,通過方括號+下標值/索引值+冒號(:)的形式來擷取series物件中的一部分資料
注意:
在獲取多個值的時候,
通過下標形式加冒號獲取,和切片一樣是左閉右開區間,
通過索引值加冒號獲取,是獲取乙個完全閉合區間值
numpy中的陣列運算,在series中都保留了,均可以使用,並且series進行陣列運算的時候,索引與值之間的對映關係不會發生改變。
注意:其實在操作series的時候,基本上可以把series看出numpy中的ndarray陣列來進行操作。ndarray陣列的絕大多數操作都可以應用到series上。
ser3+1
ser3-100
ser3*100
ser3/100
ser3%100
ser3//100
np.abs(ser3) ## numpy中的通用函式在series中是支援的
定義新的索引值時,對於不存在的索引和存在的索引的預設補齊操作
ss = series()
ss_index = ['a','bb','cc','d','e','f','g','h','i']
ss_new = series(ss,index=ss_index)
a 1.0
bb nan
cc nan
d 4.0
e 5.0
f nan
g nan
h nan
i nan
dtype: float64
注意:自動對齊:鍵值關係不會發生改變。如果鍵無法對應,返回nan值填充
對陣列中的nan值過濾
##過濾nan值
pd.isnull(ss_new) #返回布林值的陣列,nan 返回true
pd.notnull(ss_new) #返回布林值的陣列 not nan 返回true
ss_new[pd.notnull(ss_new)]
注意:pandas中的isnull和notnull兩個函式可以用於在series中檢測缺失值,這兩個函式的返回值時乙個布林型別的series
兩個預設補齊的陣列相互操作時,按照索引對應關係進行操作
s1 = series([1,2,3],index=['a','b','c'])
s2 = series([10,20,30],index=['b','a','c','d'])
s1 + s2
注意:按照索引的形式找到與之相匹配的資料進行對應操作
name屬性
s1.name=u'**'
## 資料名稱標籤
s1.index.name=u'產品'
## 索引名稱標籤
Pandas Series缺失值補充
如何去除nan not a number dropna fillna add及fill value 當計算結果為nan時,需要用特定的值來補充代替 import pandas as pd s1 pd.series 1,2,3,4 index a b c d s2 pd.series 10,20,30...
02 pandas Series 建立 屬性
由一組資料和索引組成 資料是各種numpy資料型別 索引值可重複 使用 ndarray 建立 ran num np.random.randint 0,10,10 print ran num pd.series data,dtype,index 資料,資料型別,定義索引 pd.series ran n...
pandas series資料型別使用
import pandas as pd import numpy as np 建立pandas的空的series物件 s pd.series print s,type s 列印出series dtype float64 data np.array zs ls ww zl s pd.series da...