为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 jupyter 有时打印格式化的 DataFrame 有时打印为文本?

为什么 jupyter 有时打印格式化的 DataFrame 有时打印为文本?

哈士奇WWW 2023-05-23 16:07:18
我在 jupypter notebook 中有以下代码:# (1) How to add a new column?test_csv['aggregator'] = Noneprint (test_csv)# (2) How to remove a column?test_csv.drop(columns=['platform'])它打印以下内容:为什么第二条语句采用表格格式(没有print语句)而第一条只是文本数据?DataFrame有没有一种方法可以使用格式良好的表格来强制打印格式?
查看完整描述

4 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

要获得格式良好(灰色和白色的表格格式)数据框,您可以将其留在单元格的末尾,但这仅适用于单个数据框。如果想要打印多个格式良好的数据帧,可以使用


1)


from IPython.display import display

display(df1) #displays nicely formatted dataframe1

display(df2) #displays nicely formatted dataframe2

或者


2)


from IPython.core.interactiveshell import InteractiveShell

InteractiveShell.ast_node_interactivity = "all"

df1

df2

#displays both dataframes, nicely formatted

注意:漂亮的格式是 Jupyter notebook 呈现(样式化和显示)数据框的 HTML 版本,与浏览器呈现 html 代码的方式相同。(这里虽然从表的df1.to_html()获得的真实 HTML 代码更少由浏览器呈现时作为独立 html 代码的样式,因为 Jupyter Notebook 添加了一些额外的样式)


查看完整回答
反对 回复 2023-05-23
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

为什么 jupyter 有时打印格式化的 DataFrame 有时打印为文本?

如果您使用该函数 -print它会将其打印为文本,因为 print 正在为它获取的任何对象使用函数 to_string 。

当您将数据框“留在”单元格的和处时,它会将其显示为表格,因为它是 Jupiter 的功能之一。

//img1.sycdn.imooc.com//646c746a0001628f03440345.jpg

该函数test_csv.drop(columns=['platform'])返回 df 如果你想让它做你必须使用的数据帧的下降,inplace=True或者df=df.drop(col)... 打印数据帧



查看完整回答
反对 回复 2023-05-23
?
慕后森

TA贡献1802条经验 获得超5个赞

test_csv.drop(columns=['platform'])实际上并没有删除该列。它只是通过打印其状态向您显示数据框的临时图片。

要实际删除该列:

test_csv.drop(columns=['platform'], inplace=True)

或者

test_csv.drop('platform', axis=1, inplace=True)

test_csv['aggregator'] = None通过为其分配新列来更改数据框的状态。因此,它不打印任何东西。


查看完整回答
反对 回复 2023-05-23
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

我认为您在 Jupyter Notebook 的同一个单元格中运行这两个语句


您可以在一个单元格中运行以下代码片段


# (1) How to add a new column?

test_csv['aggregator'] = None

test_csv # no need to use print

在另一个牢房里


# (2) How to remove a column?

test_csv.drop(columns=['platform'])


查看完整回答
反对 回复 2023-05-23
  • 4 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信