You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在Jupyter Notebook中使用Pandas DataFrame时,如何查看完整数据而非显示省略号(...)

解决Jupyter Notebook中Pandas DataFrame显示省略号的问题

嘿,我太懂这种烦恼了——刚导入一个DataFrame,结果一半内容被...代替,根本看不到完整数据!别着急,下面这些方法能帮你轻松查看所有数据内容:

临时调整显示设置(当前Notebook会话有效)

这是最常用的方式,针对当前会话修改Pandas的显示选项,不用改动全局配置:

  • 显示所有行:取消行数限制,不管DataFrame有多少行都能完整显示

    pd.set_option('display.max_rows', None)
    

    要是你不想显示全部(比如数据量太大),也可以设具体数字,比如pd.set_option('display.max_rows', 100),最多显示100行。

  • 显示所有列:同理,取消列数限制

    pd.set_option('display.max_columns', None)
    
  • 避免列内容截断:有些列的文本/数值很长,会被截断成...,用这个设置让列内容完整显示

    pd.set_option('display.max_colwidth', None)
    
  • 一次性设置常用选项:把上面几个命令放一起,开头运行一次就搞定

    import pandas as pd
    
    # 配置显示选项
    pd.set_option('display.max_rows', None)
    pd.set_option('display.max_columns', None)
    pd.set_option('display.max_colwidth', None)
    
    # 现在查看DataFrame就不会有省略号了
    df = pd.DataFrame(your_data)
    df
    

快速查看完整数据的替代方法

如果只是临时看一次完整数据,不想修改全局选项,可以试试:

  • 把DataFrame转成字符串输出:print(df.to_string()),虽然格式不如直接显示美观,但能看到所有内容
  • 指定显示全部行:df.head(len(df)),不过只适合行数不多的情况

恢复默认设置

要是之后想回到Pandas的默认显示风格,用这个命令重置所有选项:

pd.reset_option('all')

也可以单独重置某个选项,比如pd.reset_option('display.max_rows')只恢复行数限制。

⚠️ 小提醒:如果你的DataFrame超级大(比如几十万行/列),强制显示全部内容可能会让Notebook加载变慢甚至卡顿。这种情况下建议用df.sample(10)查看随机样本,或者用df.loc[:, ['目标列1', '目标列2']]只查看需要的列。

内容的提问来源于stack exchange,提问作者Jerem Moses

火山引擎 最新活动