Python數據分析庫之pandas,你該這麽學!No.1
寫這個系列背後的故事
咦,面試系列的把基礎部分都寫完啦,哈哈答,接下來要弄啥嘞~
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