1. 程式人生 > >看一篇,學一篇,今日份的pandas,你該這麼學!No.2

看一篇,學一篇,今日份的pandas,你該這麼學!No.2

開篇先嘚啵

昨天寫到哪了?

睡醒就忘了... ...

不過聰明伶俐的博主,僅用1秒鐘就想起來了

我們昨天學了一個pandas的型別series

並且會建立了,厲不厲害

對於一個新的資料結構來說

額,不對,對於python任意的資料結構來說

或者換句話,對於任何物件來說

看我,就沒有物件... ...

都有兩個內容

一個叫屬性,一個叫方法

物件的屬性就是,你長成啥樣

你俊俏的鼻子,
帥氣的耳朵,
放光的眼睛
綠綠的頭髮

物件的方法就是,你能幹啥
你能隨風奔跑
你能跳過泥坑
你能用手指打98K
你還能跳C哩C

明白了,上面的內容,就好了

什麼,不明白

那麼,記住物件. 出來的不帶括號,叫屬性

帶括號,叫方法

... ...

series的屬性

這種問題,一般簡單的很

你只要能找到官網
啥都OK

什麼,找不到官網?

百度 python pandas

不就行了?

開啟之後,咦~!! 這麼多

看到沒,都是series.xxx 後面沒有括號吧,那就是屬性嘍

常規學習套路,老師會告訴你,這些不用都記住

記住幾個常用的就行

恩,很有道理,其實就是嫌棄我的腦容量不夠

不過,幾個其實我也記不住

機智的我只能靠才華吃飯了

一眼就就看到了幾個認識的

我們剛學會宣告一個series啊

my_series = pd.Series(data = ['我','是','夢想','橡皮擦'],index=['a','b','c','d'],name='夢想序列')

注意看,裡面有幾個關鍵的單詞

datanameindex

編寫程式碼測試一下

import pandas as pd

my_series = pd.Series(data = ['我','是','夢想','橡皮擦'],index=['a','b','c','d'],name='夢想序列')


print(my_series.index)  # 獲取索引,返回一個列表
print(my_series.name)  # 獲取series的名字


print(my_series.data)  # 獲取資料,返回一個列表

執行之後,還不錯,2個對了,不過除了1條警告

大概意思是,看我英語水平
series.data 以後要被移除... ...

哦,也就是不要用了
nice啊,少記一個屬性唉~~

繼續!

試一下下面的程式碼吧

print(my_series.values)
print(my_series.shape)
print(my_series.size)

可以整理一下了
常見的一些屬性,我們已經整理完畢了

就用這幾個吧,

老師說了,多了,咱也記不住

其它的後面做案例,咱在後頭看

series的方法

下面搗鼓搗鼓series的一系列方法

最常用也是最基本的,就是獲取元素了,

series是一維的
可以用索引獲取,昨天的課程中,咱已經嘗試過了

那麼方法的寫法呢?

my_series = pd.Series(data = ['我','是','夢想','橡皮擦'],index=['a','b','c','d'],name='夢想序列')

print(my_series.loc['a'])
print(my_series.iloc[0])

注意這兩個的區別,

它們都可以獲取到

但是一個寫作loc,一個寫作iloc

記住,一個是通過整數索引去獲取,一個是通過標籤索引去獲取

還有,不是小括號哦~中括號

iloc 是 英文 integer-location 索引,一定要區分好

當看到中括號的時候,你就應該考慮切片了

my_series = pd.Series(data = ['我','是','夢想','橡皮擦'],index=['a','b','c','d'],name='夢想序列')
print(my_series.iloc[0:2])
print(my_series.loc['a':'c'])

切片也有區別哦,
loc切的是標籤索引,並且包含末尾元素
iloc切的是整數索引,不包含末尾元素

一定要體會用法

當然還有很多其他叫座的用法

如果你學有餘力

開啟官網,嘗試一下吧

http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.iloc.html
http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.loc.html

series的方法,太多太多了

http://pandas.pydata.org/pandas-docs/stable/reference/series.html

看看吧,慢慢學,

應用層面的這些,我給你搗鼓搗鼓

下面在看一個函式

.to_list()

基本上,看其名,知其意了

只不過,官網寫差了,竟然給官網找毛病?

這個函式實際寫的時候,沒有中間的小短線

print(my_series.tolist())

.items()

print(list(my_series.items()))

返回一個索引和值的元素zip,使用list可以打印出來

[('a', '我'), ('b', '是'), ('c', '夢想'), ('d', '橡皮擦')]

.keys()

看到名字,就猜意思,這個鑰匙是幹啥的?估計跟索引有關係

沒錯,返回可迭代的index

print(my_series.keys())

>>> Index(['a', 'b', 'c', 'd'], dtype='object')

很多,在寫下去,估計就寫不完了

分一下類吧

series全部型別的方法

必會簡單的

  • 建構函式
  • 常用屬性

方法型別

  1. 轉換類的方法 -- 將 series轉換為其他型別
  2. 索引,迭代器類方法 -- 操作索引,獲取各種迭代器
  3. 二元操作函式 -- 操作兩個series函式
  4. 應用函式,分組函式 -- apply,map,groupby 都是常用的
  5. 計算函式 -- 求和,最大值,最小值都在這裡呢
  6. 重置索引,選擇部分,標籤操作函式
  7. 刪除資料函式
  8. 排序函式
  9. 合併函式
  10. 時間序列函式
  11. 字串處理
  12. 作圖函式
  13. IO與序列化函式

好多啊,如果慢慢學,只能去肝了

索引,文件手冊怎麼查詢

英文閱讀能力,你都需要提高了哦

最後,歡迎關注一個嘮叨的程式設計工程師的公號,非本科程式設計師

掏出你的手機,拍這