<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【Python】Pandas數(shù)據(jù)挖掘與分析時(shí)的常用方法

          共 2641字,需瀏覽 6分鐘

           ·

          2022-03-15 15:49

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

          數(shù)據(jù)集的準(zhǔn)備

          這次我們需要用到的數(shù)據(jù)集是廣為人所知的泰坦尼克號的乘客數(shù)據(jù),我們先導(dǎo)入并且讀取數(shù)據(jù)集
          import?pandas?as?pd?
          df?=?pd.read_csv("train.csv")

          展示更多的行

          Pandas默認(rèn)只展示60行的數(shù)據(jù),如果數(shù)據(jù)集當(dāng)中的數(shù)量超過了60行,

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

          output

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

          當(dāng)然我們也可以改變最多展示出來的行數(shù),代碼如下

          pd.set_option('display.max_rows',?200)
          或者我們要是想將所有的數(shù)據(jù)都給展示出來的話,就設(shè)置成None,當(dāng)然要是我們的數(shù)據(jù)集很長很長的話,有幾萬行幾十萬行的話,這么做可能會使得notebook崩掉
          pd.set_option('display.max_rows',?None)
          或者是
          #?pd.options.display.max_rows?=?None

          展示更多的列

          同樣地,pandas默認(rèn)只展示20列的數(shù)據(jù)

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

          output

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

          當(dāng)然我們也可以改變這個值,例如當(dāng)數(shù)據(jù)集當(dāng)中的數(shù)據(jù)超過了50列才會被折疊,代碼如下
          #?當(dāng)數(shù)據(jù)集當(dāng)中的數(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

          改變列的寬度

          當(dāng)我們想要展示數(shù)據(jù)集當(dāng)中的前5列的時(shí)候

          df.head()

          output

          我們發(fā)現(xiàn)“Name”這一列當(dāng)中的第二行因?yàn)樽謹(jǐn)?shù)比較多,就用了省略號來代替,這是因?yàn)?code style="font-size: 14px;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;background-color: rgba(27, 31, 35, 0.05);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(150, 84, 181);">Pandas對顯示數(shù)據(jù)的量也是有限制的,
          pd.get_option('display.max_colwidth')
          #?pd.options.display.max_colwidth

          當(dāng)然我們也能改變這個默認(rèn)值,代碼如下

          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

          改變浮點(diǎn)數(shù)的精度

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

          默認(rèn)只展示小數(shù)點(diǎn)后面的6位小數(shù),

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

          output

          6

          要是我們只是希望展示小數(shù)點(diǎn)后面2位小數(shù),則可以這么來做

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

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

          df.head()

          output

          個性化展示數(shù)字

          有時(shí)候我們遇到例如貨幣、百分比、小數(shù)等數(shù)字時(shí),可以通過pandas當(dāng)中的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

          改變圖表繪制的后端

          默認(rèn)的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為后端來繪制圖表的教程,感興趣的童鞋可以點(diǎn)擊下面的鏈接查閱

          重置回默認(rèn)的配置

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

          pd.describe_option()

          output

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

          pd.describe_option("rows")

          output

          依次我們可以對最大展示出來的行數(shù)、最少展示出來的行數(shù)進(jìn)行調(diào)整,而要是你想將所有的配置還原成默認(rèn)值,可以這么來做

          pd.reset_option('all')

          往期精彩回顧




          瀏覽 78
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  粉嫩护士小泬18p | 国产精品视频播放豆花网站 | 一级黄色成人影片 | 大屌草美女 | 最近中文字幕免费mv第一季歌词大全 |