不带打印功能的输出格式
如果我用运行JupyterNotebook手机
dataframe.describe()
一张漂亮的fromatted表将被打印成这样:VSCode Jupyter笔记本数据帧.describe((单格打印格式
具有打印功能的输出格式
如果我运行一个只有多行代码的单元格,dataframe.describe((将不会打印任何想法。因此,我需要致电
print(dataframe.describe()).
这导致了完全不同的格式:VSCode Jupyter笔记本打印数据帧.describe((,带有打印功能
有没有办法以第一种格式打印dataframe.describe((?
这里有很多话要说:
-
Jupyter Notebooks在一次仅通过名称(例如
dataframe
(调用一个对象时只能打印出一个对象。如果需要,每个命令可以使用一个单元格来获得正确的格式。 -
如果您使用函数
print
,它会将任何内容打印为文本,因为print将函数to_string
用于它获得的任何对象。这是python
逻辑-相比之下,选项1(是特定于Jupyter的。。。 -
如果你不想使用一个单独的单元格,并且仍然获得正确的格式,有几个选项,其中一个可能是:
from IPython.display import display display(dataframe)
我假设您在两个环境中都使用相同的jupyter笔记本文件。如果是这种情况,您面临的问题与笔记本中定义的步骤的执行顺序有关,因为代码单元格本身的输出将是单元格最后一行的执行。
让我举一个例子来说明你。
在pandas中定义了以下数据帧:
data = {'id':[1,2,3,4],'nome':['Paolo','Pietro','Giovanni','Maria'],'spesa':[23.4,34.5,99.2,50.1]}
以下单元格的输出在这两种情况下会有所不同:
# Outputs the dataframe itself
dataframe1 = pd.DataFrame(data)
dataframe1.describe()
dataframe1
# Outputs the describe() function return value
dataframe1 = pd.DataFrame(data)
dataframe1
dataframe.describe()
两个单元格在数据帧上执行相同的两行,而不改变其内部状态,但是,只有最后一行会写入单元格输出。