熱線電話:13121318867

登錄
首頁精彩閱讀Pandas數據挖掘與分析時的常用方法
Pandas數據挖掘與分析時的常用方法
2022-03-07
收藏
Pandas<a href='/map/shujuwajue/' style='color:#000;font-size:inherit;'>數據挖掘</a>與分析時的常用方法

作者:俊欣

來源:關于數據分析與可視化

今天我們來講一下用Pandas模塊對數據集進行分析的時候,一些經常會用到的配置,通過這些配置的幫助,我們可以更加有效地來分析和挖掘出有價值的數據。

數據集的準備

這次我們需要用到的數據集是廣為人所知的泰坦尼克號的乘客數據,我們先導入并且讀取數據集

import pandas as pd 
df = pd.read_csv("train.csv")

展示更多的行

Pandas默認只展示60行的數據,如果數據集當中的數量超過了60行,

pd.get_option('display.max_rows') ## 或者是 pd.options.display.max_rows

output

60 

要是數據集當中的數據超過了60行,則會將中間的數據給折疊起來,展示出來前面的5行以及最后的5行,如下圖所示

Pandas<a href='/map/shujuwajue/' style='color:#000;font-size:inherit;'>數據挖掘</a>與分析時的常用方法

當然我們也可以改變最多展示出來的行數,代碼如下

pd.set_option('display.max_rows', 200)

或者我們要是想將所有的數據都給展示出來的話,就設置成None,當然要是我們的數據集很長很長的話,有幾萬行幾十萬行的話,這么做可能會使得notebook崩掉

pd.set_option('display.max_rows', None)
或者是 # pd.options.display.max_rows = None 

展示更多的列

同樣地,pandas默認只展示20列的數據

pd.get_option('display.max_columns') # pd.options.display.max_columns 

output

20 

要是數據集超過了20列的數據,中間的幾列數據就會折疊起來,如下圖所示

Pandas<a href='/map/shujuwajue/' style='color:#000;font-size:inherit;'>數據挖掘</a>與分析時的常用方法

當然我們也可以改變這個值,例如當數據集當中的數據超過了50列才會被折疊,代碼如下

# 當數據集當中的數據超過了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 

改變列的寬度

當我們想要展示數據集當中的前5列的時候

df.head()

output

Pandas<a href='/map/shujuwajue/' style='color:#000;font-size:inherit;'>數據挖掘</a>與分析時的常用方法

我們發現“Name”這一列當中的第二行因為字數比較多,就用了省略號來代替,這是因為Pandas對顯示數據的量也是有限制的,

pd.get_option('display.max_colwidth') # pd.options.display.max_colwidth 

當然我們也能改變這個默認值,代碼如下

pd.set_option('display.max_colwidth', 500) # pd.options.display.max_colwidth = 500 

或者顯示出所有的內容

pd.set_option('display.max_colwidth', None) # pd.options.display.max_colwidth = None 

改變浮點數的精度

或許你也察覺到了Pandas對于浮點數的精度的展示也是有限制的,如下圖所示

Pandas<a href='/map/shujuwajue/' style='color:#000;font-size:inherit;'>數據挖掘</a>與分析時的常用方法

默認只展示小數點后面的6位小數,

pd.get_option('display.precision') # pd.options.display.precision 

output

6 

要是我們只是希望展示小數點后面2位小數,則可以這么來做

pd.set_option('display.precision', 2) # pd.options.display.precision = 2 

我們來看一下最終的效果如何

df.head()

output

Pandas<a href='/map/shujuwajue/' style='color:#000;font-size:inherit;'>數據挖掘</a>與分析時的常用方法

個性化展示數字

有時候我們遇到例如貨幣、百分比、小數等數字時,可以通過pandas當中的display.float_format方法來個性化展示數字,

pd.set_option('display.float_format', '{:,.2f}'.format) df_test 

例如我們希望對數字添加百分號來展示,代碼如下

pd.set_option('display.float_format', '{:.2f}%'.format) df_test 

例如我們希望在數字面前添加貨幣符號,代碼如下

pd.set_option('display.float_format', '${:.2f}'.format) df_test 

改變圖表繪制的后端

默認的Pandas模塊對圖表的繪制是以matplotlib為后端的,但是以此為后端繪制出來的圖表并不是動態可交互的,我們可以改成以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()

重置回默認的配置

除了上面小編介紹的配置之外,大家也可以自行對數據集的展示的配置進行調整,首先我們看一下總共有哪些配置可以供我們來調整

pd.describe_option()

output

Pandas<a href='/map/shujuwajue/' style='color:#000;font-size:inherit;'>數據挖掘</a>與分析時的常用方法

要是我們指定想要看橫軸方向上的配置,可以這么來做

pd.describe_option("rows")

output

Pandas<a href='/map/shujuwajue/' style='color:#000;font-size:inherit;'>數據挖掘</a>與分析時的常用方法

依次我們可以對最大展示出來的行數、最少展示出來的行數進行調整,而要是你想將所有的配置還原成默認值,可以這么來做

pd.reset_option('all')

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢