如何在 Pandas 数据框中扩展输出显示以查看更多列?


当我们在 Pandas 中处理大型数据集时,我们通常会以表格格式查看和分析数据。当处理包含大量列的宽数据框时,默认的显示设置可能会截断或隐藏某些列,这使得难以完全探索和理解数据。为了克服此限制,我们可以扩展 Pandas 中的输出显示,以确保所有列都可见。在本文中,我们将讨论扩展输出显示以查看更多列的各种方法和技巧。

默认显示设置

默认情况下,Pandas 会限制显示的列数,以使输出适合可用空间。此行为由 display.max_columns 选项控制,该选项确定要显示的最大列数。

方法 1:使用 pd.set_option 方法

pd.set_option 方法允许我们修改 Pandas 中的各种显示选项,包括要显示的列数。通过将 display.max_columns 选项设置为 None,Pandas 将显示 DataFrame 中的所有列。

语法

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

这里,pd.set_option('display.max_columns', None) 用于修改 Pandas 中要显示的最大列数的显示选项。通过将其设置为 None,它允许 DataFrame 中的所有列在不截断的情况下显示。

示例

在下面的示例中,我们使用 Pandas 库创建了一个包含 10 列的 DataFrame df。列被标记为 'A' 到 'J',每列包含三个整数值的列表。然后,代码将 Pandas 选项display.max_columns设置为 None,这确保 DataFrame 中的所有列都将在不截断的情况下显示。最后,打印 DataFrame df,显示所有列及其相应的值。

Open Compiler
import pandas as pd # Create a DataFrame with 10 columns data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9], 'D': [10, 11, 12], 'E': [13, 14, 15], 'F': [16, 17, 18], 'G': [19, 20, 21], 'H': [22, 23, 24], 'I': [25, 26, 27], 'J': [28, 29, 30]} df = pd.DataFrame(data) # Set option to display all columns pd.set_option('display.max_columns', None) print(df)

输出

    A  B  C   D   E     F   G     H   I     J
0  1  4  7  10  13  16  19  22  25  28
1  2  5  8  11  14  17  20  23  26  29
2  3  6  9  12  15  18  21  24  27  30

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

方法 2:修改 display.max_columns 选项

我们可以使用 pd.options.display 属性直接修改 display.max_columns 选项。通过将其设置为 None,我们可以获得与上一方法相同的结果。

语法

pd.options.display.max_columns = None

这里,pd.options.display.max_columns = None 用于直接在 Pandas 中修改 display.max_columns 选项。通过将其设置为 None,DataFrame 中的所有列都将在不截断的情况下显示。

示例

在下面的示例中,我们使用 Pandas 库创建了一个包含 10 列的 DataFrame df。列被标记为 'A' 到 'J',每列包含三个整数值的列表。此代码没有使用 pd.set_option 方法,而是通过将 None 分配给pd.options.display.max_columns来直接修改 display.max_columns 选项。这确保 DataFrame 中的所有列都将在不截断的情况下显示。最后,打印 DataFrame df,显示所有列及其相应的值。

Open Compiler
import pandas as pd # Create a DataFrame with 10 columns data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9], 'D': [10, 11, 12], 'E': [13, 14, 15], 'F': [16, 17, 18], 'G': [19, 20, 21], 'H': [22, 23, 24], 'I': [25, 26, 27], 'J': [28, 29, 30]} df = pd.DataFrame(data) # Modify the display.max_columns option pd.options.display.max_columns = None print(df)

输出

     A  B  C   D   E   F    G    H    I     J
0  1  4  7  10  13  16  19  22  25  28
1  2  5  8  11  14  17  20  23  26  29
2  3  6  9  12  15  18  21  24  27  30

方法 3:调整终端/控制台宽度

有时,终端或控制台窗口宽度可能会限制显示的列数。调整终端宽度可能是扩展输出显示的简单解决方案。通过增加宽度,可以容纳更多列而不会截断。

示例

在下面的示例中,我们导入 Pandas 库和 os 模块。然后,我们通过使用 os.environ['COLUMNS'] 将值 '150' 分配给 'COLUMNS' 环境变量,将终端宽度设置为 150 列。接下来,创建了一个包含 15 列的 DataFrame df。列名表示为从 0 到 14 的数字字符串,每列包含三个重复的相应列名的值。最后,打印 DataFrame df,显示所有 15 列及其值。

Open Compiler
import pandas as pd import os # Set the terminal width to 150 columns os.environ['COLUMNS'] = '150' # Create a DataFrame with 15 columns data = {str(i): [i] * 3 for i in range(15)} df = pd.DataFrame(data) print(df)

输出

  0  1  2  3  4  5  6  7  8  9  10  11  12  13  14
0  0  1  2  3  4  5  6  7  8  9  10  11  12  13  14
1  0  1  2  3  4  5  6  7  8  9  10  11  12  13  14
2  0  1  2  3  4  5  6  7  8  9  10  11  12  13  14

结论

在本文中,我们讨论了如何使用各种方法扩展输出显示以在 Pandas 数据框中查看更多列。我们讨论了使用 pd.set_option 方法和修改 display.max_columns 选项来显示所有列。此外,我们还强调了调整终端/控制台宽度以适应更宽显示的重要性。

更新于: 2023年10月16日

1K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告