如何在 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,显示所有列及其相应的值。
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,显示所有列及其相应的值。
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 列及其值。
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 选项来显示所有列。此外,我们还强调了调整终端/控制台宽度以适应更宽显示的重要性。