我呢,有個小目標,就是把技術類的文章,寫的有趣程序員
編程呢,最難的是什麼?編程
我投票給入門ide
其實,把一我的帶進編程的大門是最難的函數
而夢想橡皮擦這位大佬,就在作這個事情
(說白了,就是高深的文章寫不出來,還要裝作大佬,心好累,好不容易找到這麼一個藉口,真開心)學習
我要經過一個系列的pandas文章ui
讓你學會這一個簡簡單單的模塊3d
而後還能順便寫點好玩的東東excel
美哉~code
每篇文章,讓你閱讀起來如絲般順滑
blog
上篇博客,我們就稍微瞭解了一丟丟series的函數
遠遠不夠的
這篇呢,咱們繼續
內心默唸
pandas是處理數據的,是處理數的,數字的
OK,GET到這個就好多了
後面我就好編了
import pandas as pd s = pd.Series([3,1,4,1,5,9,2,6,8,3,6]) print(s)
我建立了一個基本的Series,而後要對它進行處理了
對一個線性的數據來講
咱們能夠幹不少事情
好比,我要獲取最大最小值
import pandas as pd s = pd.Series([3,1,4,1,5,9,2,6,8,3,6]) print(s.min()) print(s.max())
這個寫法仍是太簡單了,顯示不出來咱們學到東西了
咱弄點新鮮的(其實就是官網比較複雜的例子)
先給series建立一個帶有層次的索引
帶有層次的索引,啥意思?
其實就是excel裏面的合併單元格
看代碼
idx = pd.MultiIndex.from_arrays([ ['warm', 'warm', 'cold', 'cold'], ['dog', 'falcon', 'fish', 'spider']] ,names=['blooded', 'animal']) s = pd.Series([4, 2, 0, 8], name='legs', index=idx) print(s)
一個關於冷血動物和溫血動物關於有多少足的表格
唉,好長一段文字,輸出長這個樣子
看不明白,不要緊,放到excel裏面瞅瞅
咋麼樣,小版一排,清晰明瞭
就一個表格
當前前面依舊是index
真正的數據就後面那一列
而後,操做一番
idx = pd.MultiIndex.from_arrays([ ['warm', 'warm','warm', 'cold', 'cold'], ['dog', 'falcon','people', 'fish', 'spider']] ,names=['blooded', 'animal']) s = pd.Series([4, 2,2, 0, 8], name='legs', index=idx) print(s) print(s.min()) print(s.max(level='blooded'))
後面的level就是控制多索引的哦~
看到結果,你能夠秒懂嗎?
s = pd.Series([4, 2,2, 0, 8], name='legs', index=idx) print(s) print(s.min()) # 輸出0 print(s.max(level='blooded')) # 輸出 下面的表格
沒錯,我是下面的表格
學會了吧,這個學會了,min,max,sum,idxmin,idxmax你應該都會了
什麼idx是啥?看看上面的代碼
那個是索引... ...
對於series來講,還有一個屬性很是,很是重要,重要到使用以後,沒啥效果?
這個屬性就是T
沒錯,一個大寫的字母T
哈哈哈,其實這個屬性對於series來講,基本沒啥用
使用以後仍是等於本身自己
s = pd.Series([3,1,4],index=['a','b','c']) print(s) print(s.T)
好像跑偏了,怎麼看到屬性去了
繼續看函數啊
一個線性雜亂的數據,對於咱們來講
還能夠排序啊
import pandas as pd s = pd.Series([3,1,4,1,5,9,2,6,8,3,6])
既然排序了,你一猜,就能猜到(其實通常人根本猜不到,也就老師以爲你能猜到)
一個是按照值排序,一個是按照索引排序
import pandas as pd s = pd.Series([3,1,4,1,5,9,2,6,8,3,6]) print(s.sort_values()) print(s.sort_index())
排序的一些參數,能夠屢屢
Series.sort_values(axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')
inplace
看一下下面的代碼,原地替換
s = pd.Series([3,1,4,1,5,9,2,6,8,3,6]) sorted_s = s.sort_values(inplace=True) print(sorted_s)
這時候打印出來的是None,可是你打印s,就能出現排序以後的文字
明白了沒?
就是把s變量直接給排序了
獲取頭部幾條
頭部頭部head
獲取末尾幾條
tail,tail
import pandas as pd s = pd.Series([3,1,4,1,5,9,2,6,8,3,6]) print(s.head(2)) print(s.tail(2))
獲取部分數據能夠,那麼確定也能夠刪除數據嘍
(我順口說的)
Series.drop
import pandas as pd s = pd.Series([3,1,4,1,5,9,2,6,8,3,6]) print(s.drop(labels=[0,1]))
對於series來講,labels參數是必備的
爲何呢?由於其它的壓根不支持
新版本的能夠用index替換labels
好了,又學到新知識點了吧
很少很多,幾個正好
每日學一點吧,啊
明天寫點啥,多是DataFrame吧
掏出你的手機,拍這個