Pandas数据挖掘与分析时的常用方法
今天我們來講一下用Pandas模塊對數(shù)據(jù)集進行分析的時候,一些經(jīng)常會用到的配置,通過這些配置的幫助,我們可以更加有效地來分析和挖掘出有價值的數(shù)據(jù)。
數(shù)據(jù)集的準備
這次我們需要用到的數(shù)據(jù)集是廣為人所知的泰坦尼克號的乘客數(shù)據(jù),我們先導(dǎo)入并且讀取數(shù)據(jù)集
import?pandas?as?pd? df?=?pd.read_csv("train.csv")展示更多的行
Pandas默認只展示60行的數(shù)據(jù),如果數(shù)據(jù)集當中的數(shù)量超過了60行,
pd.get_option('display.max_rows') ##?或者是 pd.options.display.max_rowsoutput
60要是數(shù)據(jù)集當中的數(shù)據(jù)超過了60行,則會將中間的數(shù)據(jù)給折疊起來,展示出來前面的5行以及最后的5行,如下圖所示
當然我們也可以改變最多展示出來的行數(shù),代碼如下
或者我們要是想將所有的數(shù)據(jù)都給展示出來的話,就設(shè)置成None,當然要是我們的數(shù)據(jù)集很長很長的話,有幾萬行幾十萬行的話,這么做可能會使得notebook崩掉
pd.set_option('display.max_rows',?None) 或者是 #?pd.options.display.max_rows?=?None展示更多的列
同樣地,pandas默認只展示20列的數(shù)據(jù)
pd.get_option('display.max_columns') #?pd.options.display.max_columnsoutput
20要是數(shù)據(jù)集超過了20列的數(shù)據(jù),中間的幾列數(shù)據(jù)就會折疊起來,如下圖所示
當然我們也可以改變這個值,例如當數(shù)據(jù)集當中的數(shù)據(jù)超過了50列才會被折疊,代碼如下
#?當數(shù)據(jù)集當中的數(shù)據(jù)超過了50列才會被折疊 pd.set_option('display.max_columns',?50) #?pd.options.display.max_columns?=?50或者就干脆展示出來所有的列
pd.set_option('display.max_columns',?None) #?pd.options.display.max_columns?=?None改變列的寬度
當我們想要展示數(shù)據(jù)集當中的前5列的時候
df.head()output
我們發(fā)現(xiàn)“Name”這一列當中的第二行因為字數(shù)比較多,就用了省略號來代替,這是因為Pandas對顯示數(shù)據(jù)的量也是有限制的,
pd.get_option('display.max_colwidth') #?pd.options.display.max_colwidth當然我們也能改變這個默認值,代碼如下
pd.set_option('display.max_colwidth',?500) #?pd.options.display.max_colwidth?=?500或者顯示出所有的內(nèi)容
pd.set_option('display.max_colwidth',?None) #?pd.options.display.max_colwidth?=?None改變浮點數(shù)的精度
或許你也察覺到了Pandas對于浮點數(shù)的精度的展示也是有限制的,如下圖所示
默認只展示小數(shù)點后面的6位小數(shù),
pd.get_option('display.precision') #?pd.options.display.precisionoutput
6要是我們只是希望展示小數(shù)點后面2位小數(shù),則可以這么來做
pd.set_option('display.precision',?2) #?pd.options.display.precision?=?2我們來看一下最終的效果如何
df.head()output
個性化展示數(shù)字
有時候我們遇到例如貨幣、百分比、小數(shù)等數(shù)字時,可以通過pandas當中的display.float_format方法來個性化展示數(shù)字,
pd.set_option('display.float_format',??'{:,.2f}'.format) df_test例如我們希望對數(shù)字添加百分號來展示,代碼如下
pd.set_option('display.float_format',?'{:.2f}%'.format) df_test例如我們希望在數(shù)字面前添加貨幣符號,代碼如下
pd.set_option('display.float_format',?'${:.2f}'.format) df_test改變圖表繪制的后端
默認的Pandas模塊對圖表的繪制是以matplotlib為后端的,但是以此為后端繪制出來的圖表并不是動態(tài)可交互的,我們可以改成以plotly或者是altair為后端來繪制圖表,
import?pandas?as?pd import?numpy?as?np pd.set_option('plotting.backend',?'altair') data?=?pd.Series(np.random.randn(100).cumsum()) data.plot()小編之前寫過以plotly以及altair為后端來繪制圖表的教程,感興趣的童鞋可以點擊下面的鏈接查閱
7000字 23張圖,Pandas一鍵生成炫酷的動態(tài)交互式圖表
重置回默認的配置
除了上面小編介紹的配置之外,大家也可以自行對數(shù)據(jù)集的展示的配置進行調(diào)整,首先我們看一下總共有哪些配置可以供我們來調(diào)整
pd.describe_option()output
要是我們指定想要看橫軸方向上的配置,可以這么來做
pd.describe_option("rows")output
依次我們可以對最大展示出來的行數(shù)、最少展示出來的行數(shù)進行調(diào)整,而要是你想將所有的配置還原成默認值,可以這么來做
pd.reset_option('all')END
各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗一下哦!(歡迎提建議)推薦閱讀
牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)
牛逼!Python的判斷、循環(huán)和各種表達式(長文系列第②篇)
牛逼!Python函數(shù)和文件操作(長文系列第③篇)
牛逼!Python錯誤、異常和模塊(長文系列第④篇)
總結(jié)
以上是生活随笔為你收集整理的Pandas数据挖掘与分析时的常用方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 14K Star,「程序员做饭指南」冲上
- 下一篇: 谷歌大一统?Fuchsia OS已可提供