Pandas是Tensorflow的一個庫,提供了一些數據處理的方法。常用的是Series和DataFrame兩種數據結構。Series相當於一維數組,與List類似,但功能比List要豐富很多,Series還擁有了Dictionary的很多優點。
下面的程序都在PyCharm的Console中運行,爲了方便查看,使用了截圖。
1、Pandas的導入,爲了方便使用直接導入了Series和DataFrame:
2、簡單使用
與List的sort方法類似,Series對於值也有排序方法,Series.sort_values(),但要求元素的類型相同,否則無法比較大小而報錯。
不過用下標來索引s3,不會像數組一樣改變順序,且s2不會改變
如果需要像列表一樣對數據進行排序,需要使用values屬性,下面介紹。
3、與Dictionary的比較使用
Series的另外一個特點就是結合了Dictionary的優點,下標Index可以被指定:
上面沒有指定s2的下標,因此默認是從0開始的整數
值得注意的是s2的values和index元素都是List,只是index是隻讀的。因此可以對values進行排序,下面另外給出一個案例:
如此排序,Series的標籤位置不會改變,但值會被排序,在使用中一定要注意。
參考Dictionary,Series的index-value對可以用Dictionary來定義
同樣,s4也可以使用del方法來刪除元素,並可以直接增加元素,下面刪除了aa下標的元素,並增加了dd下標值爲oo的元素
字典的in關鍵詞也一樣可以使用
4、特殊用法
Pandas爲Series增加的功能是其主要亮點。
定義方法2:
該定義方法和字典方法定義完全一樣
抽取指定下標的元素:
s5中的“aa”沒有被複制。若指定的下標在s5中不存在,對應的值會是NaN
乘法:
若元素都是數值,則每個元素分別做乘法運算
加法:
在s5和s6都存在元素相加,否則值就是NaN
判斷值是否NaN有兩種形式:
利用下標來篩選數據: