Python資料分析庫之pandas,你該這麼學!No.1

夢想橡皮擦發表於2019-05-15

寫這個系列背後的故事

咦,面試系列的把基礎部分都寫完啦,哈哈答,接下來要弄啥嘞~

pandas吧

外國人開發的
翻譯成漢語叫 熊貓
在這裡插入圖片描述

厲害厲害,很接地氣
一個基於numpy的庫

幹啥的?
做資料分析用的

而資料分析是python體系下一個非常龐大的分支

厲害到,好多人一看就會(博主就不是)
在這裡插入圖片描述
博主將用不知道多少篇部落格把她給你搗鼓明白(說白了,就是沒寫大綱!)

當然也可能讓你失去對她的興趣

畢竟,博主叫夢想橡皮擦啊

擦掉你程式設計的夢想也是我努力的一部分

在這裡插入圖片描述

下載按照這個庫

這個庫,安裝easy

你只要這樣,這樣,然後在這樣,中間出現問題,百度一下,這樣,這樣,就好了... ...

嘿嘿

在這裡插入圖片描述

我其實用的是python3.6版本
然後通過下面的命令安裝的

pip install pandas 

國內,一般安裝比較慢,你新增一個清華大學的源就好了

pip install pandas -i  https://pypi.tuna.tsinghua.edu.cn/simple/

下載&安裝速度就嗷嗷的了

pandas版本為

pandas 0.23.3

你的版本比我應該高,

畢竟我是老程式設計師了

pandas官網 http://pandas.pydata.org/
沒有翻譯完的偽中文網 https://www.pypandas.cn/index.html

安裝之後

一番簡單的操作之後,如果過程中你沒有出現任何BUG
恭喜你,安裝成功

下面開啟你的任意開發工具

一般我用“被免費版”的pycharm

在這裡插入圖片描述

建立一個檔案,然後輸入下面的程式碼,直接run

import pandas

沒有報錯,完美,一個庫學會了

當然,一般寫成

import pandas as pd

你就和國際程式設計師接軌了

pandas主要幹啥

如果你英文好,直接開啟官方文件

瞅就可以了

如果英語不好,沒關係

你這麼理解,pandas就像用程式碼操作excel一樣,一樣一樣的

在pandas中,你要學習一個新的資料結構

Series

百度翻譯,恩,先記住發音吧 say 額 瑞 z 多麼棒的標註,中英結合。
在這裡插入圖片描述
這是一種什麼樣的資料結構呢?

在解釋這個問題前,我們先建立一個,然後在程式碼中看看

不就清晰明瞭了麼

編寫下面的程式碼

import pandas as pd

my_series = pd.Series(['我','是','夢想','橡皮擦'])
print(my_series)

執行結果

0      我
1      是
2     夢想
3    橡皮擦
dtype: object

好像也有看出來了啥?

彆著急,弄到excel裡面瞅瞅,直接複製就好

在這裡插入圖片描述
看到沒,我們通過列表建立了一個series

在excel中,你需要先確定你知道什麼是行,什麼是列
在這裡插入圖片描述
橫著的叫行,豎著的叫列

你通過列表建立series之後,每行的前面出現一個從0開始的序號

這個新出現的序列,記住,叫索引
既然叫做索引了,那麼我們就可以給索引設定值

如果你有程式設計經驗,那麼你知道,索引值對應的英文叫做index

every 程式語言索引基本都是設定index

那我們在重寫一下

import pandas as pd

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

看一下結果 索引變了吧

a      我
b      是
c     夢想
d    橡皮擦
dtype: object

繼續往裡面挖,注意index和前面列表的長度一定要一致

什麼意思?

pd.Series(['我','是','夢想','橡皮擦'],index=['a','b','c','d','e']) 報錯
pd.Series(['我','是','夢想','橡皮擦'],index=['a','b','c']) 報錯

宣告一個series的函式中,還可以攜帶一個name引數

請檢視

import pandas as pd

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

結果瞅瞅

a      我
b      是
c     夢想
d    橡皮擦
Name: 夢想序列, dtype: object

接下來,可以把前面的列表引數也寫完整了

import pandas as pd

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

總結一下

建立一個series是非常容易的,只需要採用

pd.Series(data=列表,index=列表,name=名稱就可以)

其他建立方式

用字典也是可以的

my_series1 = pd.Series({'a':'非本科程式設計師','b':'公號'})
print(my_series1)

Series裡面儲存不同型別也是可以的

my_series2 = pd.Series([1,1.2,True,'MyName'])
print(my_series2)

這個Series你把他當成只有一列的excel就好了

咦?有人問了,剛才列印的結果不是2列麼

沒關係,那個是索引,只是獲取值的一個序號罷了

不信,我們獲取一下

my_series2 = pd.Series([1,1.2,True,'MyName'])
print(my_series2[0])

列印出來了吧

在試試

import pandas as pd

my_series = pd.Series(data = ['我','是','夢想','橡皮擦'],index=['a','b','c','d'],name='夢想序列')
my_series1 = pd.Series({'a':'非本科程式設計師','b':'公號'})
my_series2 = pd.Series([1,1.2,True,'MyName'])
print(my_series1['a'])  # 通過索引 a 訪問到了“非本科程式設計師”
print(my_series[0])  # 通過索引 0 訪問到了“我“,通過my_series['a']依舊可以

這樣子,你是不是感覺series跟python中的列表有點相似了呢?

好像還有點字典的感覺

這就對了,下篇見吧

我們會對series繼續研究的~

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

你懶得搜,就開啟這個連結吧

https://dwz.cn/r4lCXEuL

或者掏出你的手機,拍這個

相關文章