提问者:小点点

在IPython函数内部使用自定义样式显示熊猫数据帧


在jupyter笔记本中,我有一个函数,它为张量流模型准备输入特征和目标矩阵。

在这个函数内部,我想显示一个带有背景渐变的相关矩阵,以更好地查看强相关的特征。

这个答案显示了如何按照我想要的方式做到这一点。问题是从函数内部我无法获得任何输出,即:

def display_corr_matrix_custom():
    rs = np.random.RandomState(0)
    df = pd.DataFrame(rs.rand(10, 10))
    corr = df.corr()
    corr.style.background_gradient(cmap='coolwarm')

display_corr_matrix_custom()

显然不显示任何内容。通常,我使用IPython的show. show()函数。但是,在这种情况下,我不能使用它,因为我想保留我的自定义背景。

有没有其他方法可以显示此矩阵(如果可能,没有matplotlib)而不返回它?

编辑:在我的实际函数中,我还显示其他东西(作为数据描述),我想在一个精确的位置显示相关矩阵。此外,我的函数返回许多数据帧,因此返回@brentertainer提出的矩阵并不直接显示矩阵。


共1个答案

匿名用户

你基本上拥有它。两个变化:

  • corr获取Styler对象。
  • 使用IPython的display. show()
  • 在函数中显示样式器
def display_corr_matrix_custom():
    rs = np.random.RandomState(0)
    df = pd.DataFrame(rs.rand(10, 10))
    corr = df.corr()  # corr is a DataFrame
    styler = corr.style.background_gradient(cmap='coolwarm')  # styler is a Styler
    display(styler)  # using Jupyter's display() function

display_corr_matrix_custom()