熊猫造型 - 更改字体大小和格式浮动/应用背景渐变

Mar*_*mot 1 styling font-size pandas

我正在构建一个应用程序,以各种视觉形式显示股票相关性数据,包括应用了热图的矩阵。我的热图是通过将相关矩阵数据帧传递到 IPy Widgets 输出中来创建的,因此我可以稍后将其显示为 VBox 的一部分。我已成功应用背景渐变并将数字格式设置为 2dp。谁能帮我编辑这个功能来减小字体大小,我只是想缩小一点?

注意:我选择使用 matplotlib 上的数据框样式来执行此操作,因为在以我想要的方式显示输出时遇到了许多问题。我还有一个功能可以下载数据框,以便在应用样式后表现出色。

我尝试将以下代码行放在笔记本的开头,这样我就可以将其保留在函数之外,但一旦数据帧传递到输出,它似乎就会被忽略。

pd.options.display.float_format = "{:,.2f}".format 
Run Code Online (Sandbox Code Playgroud)

这是我的代码示例:

import seaborn as sns
import ipywidgets as ipw
import pandas as pd
import numpy as np

#Sample Data
data = np.random.randint(5,30,size=500)
df = pd.DataFrame(data.reshape((50,10)))
corr = df.corr()

#Function produces dataframe as Output
def output_heatmap_df(df):
    out = ipw.Output()
    with out:
        display(df.style\
                .background_gradient(cmap=sns.diverging_palette(220,10, as_cmap=True),axis=None).format("{:,.2f}"))
        out.layout.width='1600px'
    return out

output_heatmap_df(corr)
Run Code Online (Sandbox Code Playgroud)

Mar*_*mot 5

如果有人遇到这个问题,下面的代码最终对我有用:

def output_heatmap_df(df):
    out = ipw.Output()
    with out:
        display(df.style\
                .background_gradient(cmap=sns.diverging_palette(220,10, as_cmap=True),axis=None).format("{:,.2f}")
                .set_properties(**{'text-align':'center','font-size':'10px'})
                .set_table_styles([{'selector':'th','props':[('text-align','center'),('font-size','10px')]}])
               )
        out.layout.width='1600px'
    return out
Run Code Online (Sandbox Code Playgroud)