Python Pandas 自动调整列宽和加边框

Python Pandas 自动调整列宽和加边框

Python Pandas 自动调整列宽和加边框

在使用 Python 中的 Pandas 库进行数据分析和处理时,经常需要将数据显示在表格中。但是有时候数据的内容比较长,会导致表格显示不全或者显示不美观。为了解决这个问题,我们可以通过 Pandas 库中提供的一些方法来自动调整列宽和给表格加边框,使得表格显示更加清晰和美观。

自动调整列宽

在 Pandas 中,可以通过 Styler 对象的 set_table_styles 方法来实现自动调整列宽。首先,我们创建一个包含长文本的数据表格:

import pandas as pd

data = {'Name': ['Alice Alice Alice', 'Bob Bob Bob Bob Bob Bob Bob', 'Cathy', 'David David David David', 'Emily Emily'],
        'Age': [25, 30, 35, 40, 45],
        'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Boston']}
df = pd.DataFrame(data)

def adjust_width(s):
    return 'width: {}px'.format(len(s) * 10)

styled_df = df.style.set_table_styles([{'selector': 'th', 'props': [('max-width', '300px')]}]) \
    .applymap(adjust_width, subset=pd.IndexSlice[:, ['Name']])

styled_df

运行以上代码,会获得一个自动调整列宽后的表格:

Name Age City
0 Alice Alice Alice 25 New York
1 Bob Bob Bob Bob Bob… 30 Los Angeles
2 Cathy 35 Chicago
3 David David David D… 40 Houston
4 Emily Emily 45 Boston

可以看到,Name 列的宽度已经根据内容自动调整,使得内容不会被截断。

加边框

在 Pandas 中,可以通过设置 Styler 对象的 set_table_styles 方法来给表格添加边框。以下是一个示例代码:

styled_df = df.style.set_table_styles([{'selector': 'table', 'props': [('border-collapse', 'collapse')]},
                                       {'selector': 'th, td', 'props': [('border', '1px solid black')]}])

styled_df

运行以上代码,会获得一个带有边框的表格:

Name Age City
0 Alice Alice Alice 25 New York
1 Bob Bob Bob Bob Bob… 30 Los Angeles
2 Cathy 35 Chicago
3 David David David D… 40 Houston
4 Emily Emily 45 Boston

通过设置表格和单元格的边框样式,使得表格显示更加清晰和美观。

通过以上示例,我们可以看到如何在 Pandas 中实现自动调整列宽和给表格加边框,从而提升数据表格的显示效果。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程