我在Anaconda发行版的木星/IPython笔记本上有Python2.7。如果pandas数据格式是编码单元格中的最后一件事,那么它输出的表格格式很干净(单元格被漂亮的黑色边框包围)。
如果它不是单元格中最后打印或输出的行,则必须将其包装在print()中以使其输出,如果将其作为单元格的最后一行,则会丢失默认的良好表格式。我相信这个问题在3.x中也是一样的。当df不是单元格中的最后一行代码时,是否有一种方法可以告诉Python输出df表格式?根据这篇文章的其余部分,是否有一种方法可以在对象代码中的方法中完成这项工作(这正是我真正想要做的)?
帮助调查这一问题的:
这将输出DF周围的好表:
# rest of my code here
myDF这不输出表格式,它只是输出内容:
# my code
print(myDF)
print("other stuff ...")
# more code might be here ...当我试图使用使DF成为对象内函数调用的最后一行的语法时,它根本没有输出(示例代码如下)。要修复它,我认为用print()包装它是唯一的选择,但我真的很想保持良好的表格式。有办法这样做吗?
现在不起作用的代码:
没有产出:
class MyObject(MyBaseObject):
# few global variables here used by the class itself
def __init__(self, some args ...):
# Some code that happens in the initialization method
# includes super() for MyBaseObject class
if moveList == "Stored":
_localDF = self.get_solutionDF()
_localDF
def get_solutionDF(self):
# returns a DF created during initialization method若要输出DF,但不以良好的表格式包装,请执行以下操作:
只需通过在localDF语句中包装print()来修改上面的代码。我在一个变量中捕获了get_solutionDF()的输出,作为一个实验,在简单地用self.get_solutionDF()结束函数之后,没有输出任何东西,但是这没有帮助(仍然没有输出)。
欢迎你的想法。一旦找到一种方法在DF通过其他方式输出时保持漂亮的表,那么这个解决方案也会对其他代码有所帮助,然后简单地将它变成木星代码单元格的最后一行。谢谢你在这方面的帮助。
发布于 2017-09-13 05:01:05
如果您想从函数中显示一个漂亮的表,请使用display而不是print。我用它打印熊猫样式格式--这是对我有用的代码:
from Ipython.display import display
while True:
#some operation that generates a pandas dataframe "df"
display(df)
break注意:如果上面的import命令在您的实现下抛出一个错误,请尝试使用以下导入命令:
import ipython_genutils使用Anaconda和Python 3.6的用户需要此变体。
`
https://stackoverflow.com/questions/43550767
复制相似问题