亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何顯示 pandas 數據框,使其寬度適合我的屏幕?

如何顯示 pandas 數據框,使其寬度適合我的屏幕?

MMTTMM 2023-12-29 14:34:00
我有一個帶有文本數據的 pandas 數據框,我想顯示所有文本而不被截斷,所以我設置pd.set_option('display.max_colwidth', None) pd.set_option('display.max_rows', None)但是,該表格現在不適合我的屏幕,您可以看到圖像底部出現了滾動條。我想顯示一個數據框,使其寬度適合我的屏幕(即單元格可以增加高度,但不能增加寬度)。
查看完整描述

1 回答

?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

這是我找到的解決方案


from IPython.display import display

display(_df.style.set_properties(**{

        'width': '230px',

        'max-width': '230px'

    }))

我為此編寫了一個輔助函數


# decorator

def pandas_display(func):

    default_1 = pd.options.display.max_rows

    default_2 = pd.options.display.max_colwidth

    def wrapper(_df, exclude_cols=None, properties=None, limit_float=2):

        pd.options.display.max_rows = 1000

        pd.options.display.max_colwidth = None

        func(_df, exclude_cols, properties, limit_float)

        pd.options.display.max_rows = default_1

        pd.options.display.max_colwidth = default_2

    return wrapper

    

    

@pandas_display

def display_df(self, exclude_cols, properties, limit_float):

    if exclude_cols is not None:

        if not isinstance(exclude_cols, list):

            exclude_cols = list(exclude_cols)

        cols = [x for x in self.columns.values if x not in set(exclude_cols)]

        self = self[cols]


    if not properties:

        properties = {

            'text-align': 'left',

            'white-space': 'pre-wrap',

            'word-wrap': 'break-word',

            'width': '230px',

            'max-width': '230px',

        }

        

    a = self.style.set_properties(**properties)

    if limit_float is not None:

        a.format(thousands=',', precision=limit_float)

    display(a)

    

d = display_df

pd.DataFrame.d = d

你可以通過它打電話df.d()


查看完整回答
反對 回復 2023-12-29
  • 1 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號