如何加宽输出显示以查看 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 # 创建一个包含 10 列的 DataFrame 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) # 设置选项以显示所有列 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
方法二:修改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) # 修改 display.max_columns 选项 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 # 将终端宽度设置为 150 列 os.environ['COLUMNS'] = '150' # 创建一个有 15 列的 DataFrame 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 Dataframe 中的更多列。我们讨论了使用 pd.set_option 方法并修改 display.max_columns 选项以显示所有列。此外,我们还强调了调整终端/控制台宽度以适应更宽的显示的重要性。