點開,看一段,你就會喜歡上學習pandas,你該這麼學!No.3

身爲一個囉嗦的博主,仍是要說點啥,若是你不想學,直接拖拽到最後,發現彩蛋,而後3秒

我呢,有個小目標,就是把技術類的文章,寫的有趣程序員

編程呢,最難的是什麼?編程

我投票給入門ide

在這裏插入圖片描述

其實,把一我的帶進編程的大門是最難的函數

而夢想橡皮擦這位大佬,就在作這個事情 (說白了,就是高深的文章寫不出來,還要裝作大佬,心好累,好不容易找到這麼一個藉口,真開心)學習

在這裏插入圖片描述

我要經過一個系列的pandas文章ui

讓你學會這一個簡簡單單的模塊spa

而後還能順便寫點好玩的東東3d

美哉~excel

每篇文章,讓你閱讀起來如絲般順滑 code

在這裏插入圖片描述

繼續pandas,series函數的學習

上篇博客,我們就稍微瞭解了一丟丟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')
複製代碼
  • axis 按照哪一個參考軸排序. 對於 Series來講,只能設置爲0
  • ascending 倒序仍是正序 True升序
  • inplace 默認false,修改成true,原地修改?咦,不明白吧,一會我給你舉個栗子
  • kind 排序方法 快速排序,歸併排序,堆排序
  • na_position 空值,在前仍是在後,這個,你試一下就知道了

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變量直接給排序了

排序搞定以後,就要嘗試獲取series中的部份內容

獲取頭部幾條

頭部頭部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吧

在這裏插入圖片描述

最後,歡迎關注一個嘮叨的編程工程師的公號,非本科程序員

掏出你的手機,拍這個

在這裏插入圖片描述
相關文章
相關標籤/搜索