调试Pandas中打印DataFrame的问题

2 投票
1 回答
2276 浏览
提问于 2025-04-18 09:52

我该怎么调试打印Pandas数据框时出现的问题呢?我调用了这个函数,然后打印输出(输出是一个Pandas数据框)。

n=ion_tab(y_ion,cycles,t,pH)
print(n)  

输出的最后部分看起来是这样的:

58       O2  1.784306e-35       4      86  7.3
60    HCO3-  5.751170e+02       5      86  7.3
61     Ca+2  1.825748e+02       5      86  7.3
62      CO2  3.928413e+01       5      86  7.3
63  CaHCO3+  3.755015e+01       5      86  7.3
64    CaCO3  4.616840e+00       5      86  7.3
65    SO4-2  1.393365e+00       5      86  7.3
66    CO3-2  8.243118e-01       5      86  7.3
67    CaSO4  7.363058e-01       5      86  7.3
        ...           ...     ...     ...  ...

[65 rows x 5 columns]

但是如果我执行n.tail()命令,我就能看到缺失的数据,这似乎是...所暗示的。

print n.tail()
    Species    ppm as ion  Cycles  Temp F   pH
68      OH-  5.516061e-03       5      86  7.3
69    CaOH+  6.097815e-04       5      86  7.3
70    HSO4-  5.395493e-06       5      86  7.3
71  CaHSO4+  2.632098e-07       5      86  7.3
73       O2  1.783007e-35       5      86  7.3

[5 rows x 5 columns]

如果我数一下屏幕上显示的行数,我得到的是60行。如果加上n.tail()显示的那5行,我就得到了预期的65行。打印时是不是有什么限制,只允许显示60行?我的数据框最后出现的...是什么原因呢?

最开始我以为是ion_tab函数限制了打印的内容。但是当我在n.tail()语句中看到缺失的数据时,我就感到困惑了。

任何调试方面的帮助都将不胜感激。

1 个回答

2

Pandas 默认情况下会限制打印的行数。你可以通过 pd.set_option 来改变这个设置。

In [4]: pd.get_option('display.max_rows')
Out[4]: 60

In [5]: pd.set_option('display.max_rows', 100)

撰写回答