📜  jupyter 打印完整数据框 - Python (1)

📅  最后修改于: 2023-12-03 15:32:26.982000             🧑  作者: Mango

Jupyter 打印完整数据框 - Python

在 Jupyter Notebook 中,当 Pandas 数据框的数据量很大时,Jupyter 默认不会完整地显示所有的行和列,而是会自动截取并省略前面或后面的数据。这对于数据分析和可视化带来许多不便之处。然而,我们可以通过以下方法,使 Pandas 数据框在 Jupyter Notebook 中完整地显示所有的行和列。

方法一:使用 set_option() 函数

我们可以使用 Pandas 的 set_option() 函数,临时设置 Pandas 显示的行和列的最大数量。示例如下:

import pandas as pd
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
pd.set_option('display.max_colwidth', -1)

# 创建一个包含 100 行、10 列的示例数据框
data = pd.DataFrame({'A': range(100), 'B': range(100), 'C': range(100), 'D': range(100), 'E': range(100),
                     'F': range(100), 'G': range(100), 'H': range(100), 'I': range(100), 'J': range(100)})
print(data)

输出结果为:

     A   B   C   D   E   F   G   H   I   J
0    0   0   0   0   0   0   0   0   0   0 
1    1   1   1   1   1   1   1   1   1   1 
2    2   2   2   2   2   2   2   2   2   2 
3    3   3   3   3   3   3   3   3   3   3 
4    4   4   4   4   4   4   4   4   4   4 
..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..
95  95  95  95  95  95  95  95  95  95  95 
96  96  96  96  96  96  96  96  96  96  96 
97  97  97  97  97  97  97  97  97  97  97 
98  98  98  98  98  98  98  98  98  98  98 
99  99  99  99  99  99  99  99  99  99  99 

[100 rows x 10 columns]

上述代码中,pd.set_option('display.max_rows', None) 表示 Pandas 显示数据框时,行数无最大限制;pd.set_option('display.max_columns', None) 表示 Pandas 显示数据框时,列数无最大限制;pd.set_option('display.width', None) 表示显示数据框的宽度无最大限制;pd.set_option('display.max_colwidth', -1) 表示显示数据框的列宽度无最大限制。

方法二:使用 style.hide_index() 函数

我们可以使用 Pandas 的 style.hide_index() 函数,设置数据框的行标(即索引)是否隐藏。示例如下:

import pandas as pd

# 创建一个包含 100 行、10 列的示例数据框
data = pd.DataFrame({'A': range(100), 'B': range(100), 'C': range(100), 'D': range(100), 'E': range(100),
                     'F': range(100), 'G': range(100), 'H': range(100), 'I': range(100), 'J': range(100)})
data.style.hide_index()

输出结果为:

image-20210918113111484

方法三:使用 %%html 魔法命令

我们可以使用 Jupyter Notebook 的 %%html 魔法命令,将 Pandas 数据框以 HTML 格式显示。示例如下:

import pandas as pd

# 创建一个包含 100 行、10 列的示例数据框
data = pd.DataFrame({'A': range(100), 'B': range(100), 'C': range(100), 'D': range(100), 'E': range(100),
                     'F': range(100), 'G': range(100), 'H': range(100), 'I': range(100), 'J': range(100)})
%%html
<style>
table.dataframe {
    width: 100%;
    border-collapse: collapse;
    border: none;
}
table.dataframe td, table.dataframe th {
    border: 1px solid black;
    padding: 2px;
    font-size: 11pt;
    font-family: Arial, sans-serif;
}
</style>
{{ data.to_html() }}

输出结果为:

image-20210918114016204

上述代码中,我们设置了数据框的样式,使其具有较好的可读性。

综上所述,我们可以使用以上三种方法中的任意一种,在 Jupyter Notebook 中完整地显示 Pandas 数据框的所有行和列。