gpt4 book ai didi

python - 从函数返回多个值时,有没有办法保留 pandas 数据框的网格输​​出?

转载 作者:太空宇宙 更新时间:2023-11-04 03:13:11 25 4
gpt4 key购买 nike

全部,

当从函数返回多个值时,有没有办法保持 pandas 数据框或 statsmodels 回归摘要的网格显示?

def lr(x,y,df):
x=sm.add_constant(x)
est=sm.OLS(y,x)
est=est.fit()
return (df.corr(),
print('\n'),
print('\n'),
est.summary())

以上面的函数为例。如果我只是返回 df.corr() 它会保留查看 Pandas 数据框时通常出现的网格。如果我只返回 est.summary(),结果相同。然而,当我想归还它们时,它们在美学上就变得不那么令人愉悦了。我试过将它们都放在 print() 中,结果相同。请帮忙!

编辑:

def lr(x,y,df):
x=sm.add_constant(x)
est=sm.OLS(y,x)
est=est.fit()
return (HTML(df.corr()._repr_html_()),
HTML(est.summary()._repr_html_()))

返回(IPython.core.display.HTML 对象,IPython.core.display.HTML 对象)

def lr(x,y,df):
x=sm.add_constant(x)
est=sm.OLS(y,x)
est=est.fit()
return (HTML(df.corr()._repr_html_() + est.summary()._repr_html_()))

给出了我下面评论中列出的错误

谢谢!

最佳答案

df.corr()est.summary() 都返回 DataFrame 对象。

当一个函数只返回一个时,Jupyter 通过运行底层方法 _repr_html_ 来显示该对象,该方法返回漂亮的 html 表的文本,然后显示它。你可以通过以下方式做同样的事情:

from IPython.core.display import HTML

HTML(df.corr()._repr_html_())

但是,当您将它们都包装在元组中返回时,Jupyter 会在元组上运行 _repr_ 方法,该方法只会返回格式不正确的文本。如果您从函数中进行赋值:

my_results = lr(x, y, df)

my_results[0]

你会再次得到漂亮的格式。或者:

my_results[1]

格式也很漂亮。要获得两者,请执行以下操作:

from IPython.core.display import HTML

HTML(df.corr()._repr_html_() + est.summary()._repr_html_())

关于python - 从函数返回多个值时,有没有办法保留 pandas 数据框的网格输​​出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37301682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com