溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Pandas中常用option如何設(shè)置

發(fā)布時(shí)間:2022-06-10 15:42:36 來源:億速云 閱讀:153 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“Pandas中常用option如何設(shè)置”,在日常操作中,相信很多人在Pandas中常用option如何設(shè)置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Pandas中常用option如何設(shè)置”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

    前言

    通過pandas的使用,我們經(jīng)常要交互式地展示表格(dataframe)、分析表格。而表格的格式就顯得尤為重要了,因?yàn)榇蟛糠謺r(shí)候如果我們直接展示表格,格式并不是很友好。

    其實(shí)呢,這些痛點(diǎn)都可以通過pandas的option來解決。短短幾行代碼,只要提前配置好,一次設(shè)置好,全局生效,perfect!

    # 使用方法
    import pandas as pd
    pd.set_option()
    pd.get_option()
    # 使用屬性,例如展示的最大行數(shù)
    pd.option.display.max_rows

    東哥整理了8個(gè)常用的配置選項(xiàng),供大家參考。記住這8個(gè)option代碼,下次直接粘貼進(jìn)去,效率可以提高很多,爽歪歪。

    • 顯示更多行

    • 顯示更多列

    • 改變列寬

    • 設(shè)置float列的精度

    • 數(shù)字格式化顯示

    • 更改繪圖方法

    • 配置info()的輸出

    • 打印出當(dāng)前設(shè)置并重置所有選項(xiàng)

    1. 顯示更多行

    默認(rèn)情況下,pandas 是不超出屏幕的顯示范圍的,如果表的行數(shù)很多,它會(huì)截?cái)嘀虚g的行只顯示一部分。我們可以通過設(shè)置display.max_rows來控制顯示的最大行數(shù),比如我想設(shè)置顯示200行。

    pd.set_option('display.max_rows', 200)
    # pd.options.display.max_rows = 200

    如果行數(shù)超過了display.max_rows,那么display.min_rows將確定顯示的部分有多少行。因?yàn)閐isplay.min_rows的默認(rèn)行數(shù)為5,,下面例子只顯示前5行和最后5行,中間的所有行省略。

    Pandas中常用option如何設(shè)置

    同理,也可根據(jù)自己的習(xí)慣顯示可顯示的行數(shù),比如10, 20..

    pd.set_option('display.min_rows', 10)
    # pd.options.display.min_rows = 10

    還可以直接重置。

    # 重置
    pd.reset_option('display.max_rows')

    2. 顯示更多列

    行可以設(shè)置,同樣的列也可以設(shè)置,display.max_columns控制著可顯示的列數(shù),默認(rèn)值為20。

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

    Pandas中常用option如何設(shè)置

    3. 改變列寬

    pandas對列中顯示的字符數(shù)有一些限制,默認(rèn)值為50字符。所以,有的值字符過長就會(huì)顯示省略號。如果想全部顯示,可以設(shè)置display.max_colwidth,比如設(shè)置成500。

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

    Pandas中常用option如何設(shè)置

    4. 設(shè)置float列的精度

    對于float浮點(diǎn)型數(shù)據(jù),pandas默認(rèn)情況下只顯示小數(shù)點(diǎn)后6位。我們可以通過預(yù)先設(shè)置display.precision讓其只顯示2位,避免后面重復(fù)操作。

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

    Pandas中常用option如何設(shè)置

    這個(gè)設(shè)置不影響底層數(shù)據(jù),它只影響浮動(dòng)列的顯示。

    5. 數(shù)字格式化顯示

    pandas中有一個(gè)選項(xiàng)display.float_formatoption可以用來格式化任何浮點(diǎn)列。這個(gè)僅適用于浮點(diǎn)列,對于其他數(shù)據(jù)類型,必須將它們轉(zhuǎn)換為浮點(diǎn)數(shù)才可以。

    用逗號格式化大值數(shù)字

    例如 1200000 這樣的大數(shù)字看起來很不方便,所以我們用逗號進(jìn)行分隔。

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

    Pandas中常用option如何設(shè)置

    設(shè)置數(shù)字精度

    和上面display.precision有點(diǎn)類似,假如我們只關(guān)心小數(shù)點(diǎn)后的2位數(shù)字,我們可以這樣設(shè)置格式化:

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

    Pandas中常用option如何設(shè)置

    百分號格式化

    如果我們要顯示一個(gè)百分比的列,可以這樣設(shè)置。

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

    Pandas中常用option如何設(shè)置

    或者其它幣種的符號等均可,只需要在大括號{}前后添加即可。

    6. 更改繪圖方法

    默認(rèn)情況下,pandas使用matplotlib作為繪圖后端。從 0.25 版本開始,pandas提供了使用不同后端選擇,比如plotly,bokeh等第三方庫,但前提是你需要先安裝起來。

    設(shè)置很簡單,只要安裝好三方庫后,同樣只需要一行。

    import pandas as pd
    import numpy as np
    pd.set_option('plotting.backend', 'altair')
    data = pd.Series(np.random.randn(100).cumsum())
    data.plot()

    7. 配置info()的輸出

    pandas中我們經(jīng)常要使用info()來快速查看DataFrame的數(shù)據(jù)情況。但是,info這個(gè)方法對要分析的最大列數(shù)是有默認(rèn)限制的,并且如果數(shù)據(jù)集中有null,那么在大數(shù)據(jù)集計(jì)數(shù)統(tǒng)計(jì)時(shí)會(huì)非常慢。

    pandas提供了兩種選擇:

    • display.max_info_columns: 設(shè)置要分析的最大列數(shù),默認(rèn)為100。

    • display.max_info_rows: 設(shè)置計(jì)數(shù)null時(shí)的閾值,默認(rèn)為1690785。

    比如,在分析有 150 個(gè)特征的數(shù)據(jù)集時(shí),我們可以設(shè)置display.max_info_columns為涵蓋所有列的值,比如將其設(shè)置為 200:

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

    在分析大型數(shù)據(jù)集時(shí),df.info()由于要計(jì)算所有null,導(dǎo)致速度很慢。因此我們可以簡單地設(shè)置display.max_info_rows為一個(gè)小的值來避免計(jì)數(shù),例如只在行數(shù)不超過5時(shí)才計(jì)數(shù)null:

    pd.set_option('display.max_info_rows', 5)

    8. 打印出當(dāng)前設(shè)置并重置所有選項(xiàng)

    pd.describe_option()將打印出設(shè)置的描述及其當(dāng)前值。

    pd.describe_option()

    Pandas中常用option如何設(shè)置

    還可以打印特定的選項(xiàng),例如,行顯示。

    # 具體的搜索
    pd.describe_option('rows')

    Pandas中常用option如何設(shè)置

    最后,我們還可以直接全部重置。

    pd.reset_option('all')

    以上就是8個(gè)常用set_option的使用,下面進(jìn)行了匯總,方便大家粘貼使用。

    pd.set_option('display.max_rows',xxx) # 最大行數(shù)
    pd.set_option('display.min_rows',xxx) # 最小顯示行數(shù)
    pd.set_option('display.max_columns',xxx) # 最大顯示列數(shù)
    pd.set_option ('display.max_colwidth',xxx) #最大列字符數(shù)
    pd.set_option( 'display.precision',2) # 浮點(diǎn)型精度
    pd.set_option('display.float_format','{:,}'.format) #逗號分隔數(shù)字
    pd.set_option('display.float_format',  '{:,.2f}'.format) #設(shè)置浮點(diǎn)精度
    pd.set_option('display.float_format', '{:.2f}%'.format) #百分號格式化
    pd.set_option('plotting.backend', 'altair') # 更改后端繪圖方式
    pd.set_option('display.max_info_columns', 200) # info輸出最大列數(shù)
    pd.set_option('display.max_info_rows', 5) # info計(jì)數(shù)null時(shí)的閾值
    pd.describe_option() #展示所有設(shè)置和描述
    pd.reset_option('all') #重置所有設(shè)置選項(xiàng)

    到此,關(guān)于“Pandas中常用option如何設(shè)置”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI