1. 程式人生 > >Python數據分析庫之pandas,你該這麽學!No.1

Python數據分析庫之pandas,你該這麽學!No.1

可能 char 程序 官方文檔 其他 熊貓 sta true say

寫這個系列背後的故事

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

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

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

Python數據分析庫之pandas,你該這麽學!No.1