You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jupyter Notebook中完整打印无制表符的50×32数值数据集?

解决方案

嘿,这问题我熟!我来给你捋捋怎么解决~你遇到的问题本质上是两个:一是NumPy默认会截断大数组的打印输出,二是Pandas读取空格分隔的文件时没指定正确的分隔符,导致输出出现奇怪的制表符( )。下面给你两种针对性的解决办法:

方法一:用NumPy实现无截断打印

NumPy默认对大数组的打印会做截断处理,你只需要修改它的打印配置,让它显示所有元素和完整行即可:

import numpy as np

# 配置NumPy打印选项:不截断元素,不换行截断
np.set_printoptions(threshold=np.inf, linewidth=np.inf)

# 加载数据并打印
p = np.loadtxt('dataset\\Pos0.txt')
print(f"数据形状:{np.shape(p)}\n")
print(p)
  • threshold=np.inf:告诉NumPy不要截断任何元素,全部显示
  • linewidth=np.inf:让NumPy在打印时不会因为行太长而自动换行,保持每行的完整数值序列

方法二:用Pandas正确读取并打印

你之前用Pandas时出现 ,是因为pd.read_csv默认用逗号作为分隔符,但你的文件是空格分隔的,所以Pandas把整行内容当成了单个列,打印时就会出现奇怪的制表符。只需要指定正确的分隔符,再配合显示配置就可以解决:

import pandas as pd

# 读取空格分隔的文件:用sep='\s+'匹配一个或多个连续空格,header=None表示文件无表头
df = pd.read_csv('dataset\\Pos0.txt', sep='\s+', header=None)

# 设置显示配置:显示所有50行和32列
pd.set_option('display.max_rows', 50)
pd.set_option('display.max_columns', 32)

# 可选:让列标题居中,数值显示更整齐
pd.set_option('colheader_justify', 'center')

# 打印数据
print(df)

这样读取后,Pandas会正确识别32列数值,打印时既不会截断行列,也不会出现多余的制表符啦~

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 20:27:33