📜  以表格样式显示 Pandas DataFrame(1)

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

以表格样式显示 Pandas DataFrame

Pandas是Python中一个广泛使用的数据分析库,它允许我们进行各种数据操作和分析。当我们使用Pandas进行数据处理时,经常需要对数据进行可视化展示。其中一个常用的展示方式是以表格的形式展示DataFrame数据,因为表格能够清晰地表示数据的结构和信息,是人们最为熟悉和喜欢的数据展示方式之一。

使用Pandas的方法

Pandas提供了几种方法用于以表格形式显示DataFrame数据,其中比较常用的有: to_html(), to_string()style

to_html()

to_html()方法会将DataFrame对象转换为HTML表格格式的字符串,并返回该字符串。该方法的语法如下:

# df.to_html(header=None, index=False, justify='left')
df.to_html()

df 是要被转换的DataFrame对象。header 参数默认为 True,表示输出 HTML 代码包含 DataFrame 的列名。设置为 None 时不包含列名。index 参数默认为 True,表示输出 HTML 代码包含 DataFrame 的行索引。设置为 False 时不包含行索引。justify 参数用于设置表格的对齐方式,可以为 'left''center''right'

to_string()

to_string()方法会将DataFrame对象转换为字符串,并返回该字符串。该方法的语法如下:

# df.to_string(index=False)
df.to_string()

df 是要被转换的DataFrame对象。index 参数默认为 True,表示输出的字符串包含 DataFrame 的行索引。设置为 False 时不包含行索引。

style

style属性用于设置DataFrame对象的样式,能够让我们以更美观的方式展示 DataFrame 数据。该属性返回一个 pandas.io.formats.style.Styler 对象,该对象提供了很多控制DataFrame样式的方法。style属性的语法如下:

# df.style.<method_name>(...)
df.style

我们可以通过调用 style 对象的方法来设置DataFrame样式,常用的方法有:background_gradient(), highlight_max(), highlight_min(), format(), set_properties() 等。

示例

下面是一个使用了上面介绍的三种方法将DataFrame数据以表格形式展示的示例。我们以电影数据集为例,尝试展示一些基本的数据统计信息和Top_N的电影。

import pandas as pd

# 读取数据
movies = pd.read_csv('https://raw.githubusercontent.com/justmarkham/DAT8/master/data/u.item', sep='|', header=None, encoding='latin-1',
                    usecols=[0,1,2], names=['movie_id', 'title', 'release_date'])

# 展示数据统计信息
print(movies.describe().to_string())

# 展示最受欢迎的电影 Top 10
top_n = 10
top_movies = movies.groupby('title').size().sort_values(ascending=False)[:top_n].reset_index(name='popularity')
print(top_movies.to_string(index=False))

# 使用 style 属性展示数据
styled_movies = top_movies.style.background_gradient(subset=['popularity'], cmap='YlGnBu').format({'popularity': '{:.1f}'})
display(styled_movies)

上述代码展示了三种方法的使用。

首先,我们读取了电影数据文件,并用 describe() 方法展示了数据基本统计信息,使用了 to_string() 方法将生成的 DataFrame 对象转换为字符串展示出来。

其次,我们统计了电影数据集中最受欢迎的 Top_N 电影,并使用了 to_string() 方法将生成的 DataFrame 对象转换为字符串展示出来。

最后,我们使用 style 属性将统计信息美化并以表格形式展示在 Jupyter Notebook 中。我们使用了 background_gradient() 方法为DataFrame中的数据添加颜色,使用了 format() 方法格式化了 popularity 列的显示,其中 {:.1f} 表示只显示一位小数。

请参考本示例代码中的注释和方法参数,根据您的需要选择合适的方法展示您的数据。