Pandas 以表格样式显示 DataFrame

Samreena Aslam 2023年1月30日 2022年5月16日
  1. 使用 IPython.display 模块的 display() 函数在表格中显示 Pandas DataFrame
  2. 使用 tabulate 库以表格样式显示 Pandas DataFrame
  3. 使用 dataFrame.style 在表格中显示 Pandas DataFrame
  4. Pandas 的样式表 DataFrame
Pandas 以表格样式显示 DataFrame

Pandas 是一个非常流行和有用的数据科学库。今天,每个参与数据科学的人也广泛使用 Pandas。它以表格形式显示数据,这与我们在 Excel 工具中看到的格式非常相似。使用 excel 工具,我们可以通过添加各种颜色和样式来自定义我们的工作或数据表,使其对其他用户更具吸引力和可读性。通过各种表格样式显示 Pandas DataFrame 增加了数据可视化。

我们将介绍如何使用不同的表格样式以表格的形式显示 Pandas DataFrame,例如 tabulate 库、dataframe.styleIPython.display 模块。

使用 IPython.display 模块的 display() 函数在表格中显示 Pandas DataFrame

以表格样式显示 Pandas DataFrame 的最简单和最简单的方法是使用从 IPython.display 模块导入的 display() 函数。此函数以交互式且格式良好的表格形式显示 DataFrame

请参阅以下示例以更好地理解 display() 函数:

示例代码:

from IPython.display import display
import pandas as pd
  
# creating a DataFrame
dict = {'Products' : ['Intel Dell Laptops', 'HP Laptops', 'Lenavo Laptops', 'Acer Laptops'],
        'Price dollar' : [350, 300, 400, 250 ],
        'Percentage Sale' : [83, 99, 84, 76]}
dataframe = pd.DataFrame(dict)
  
# displaying the DataFrame
display(dataframe)

输出:

以表格样式显示 Pandas DataFrame - 显示

使用 tabulate 库以表格样式显示 Pandas DataFrame

使用上述方法,我们可以以有组织的表格样式格式显示 Pandas dataframes。我们将使用一个名为 tabulate 的库。这个库由不同的样式组成,我们可以在其中显示 Pandas dataframes

在以下示例中,我们将使用 pretty 样式来显示 Pandas DataFrame

示例代码:

import pandas as pd
from tabulate import tabulate

# creating a DataFrame
dict = {'Students' : ['Intel Dell Laptops', 'HP Laptops', 'Lenavo Laptops', 'Acer Laptops'],
        'Price dollar' : [350, 300, 400, 250 ],
        'Percentage Sale' : [83, 99, 84, 76]}
dataframe = pd.DataFrame(dict)
  
# displaying the DataFrame
print(tabulate(dataframe, headers = 'keys', tablefmt = 'pretty'))

输出:

+---+--------------------+--------------+-----------------+
|   |      Students      | Price dollar | Percentage Sale |
+---+--------------------+--------------+-----------------+
| 0 | Intel Dell Laptops |     350      |       83        |
| 1 |     HP Laptops     |     300      |       99        |
| 2 |   Lenavo Laptops   |     400      |       84        |
| 3 |    Acer Laptops    |     250      |       76        |
+---+--------------------+--------------+-----------------+

tabulate 库包含以下 styles,我们可以使用它们来为 pandas DataFrame 设置样式:

  • plain
  • simple
  • github
  • grid
  • fancy_grid
  • pipe
  • orgtbl
  • jira
  • presto
  • pretty
  • psql
  • rst
  • mediawiki
  • moinmoin
  • youtrack
  • html
  • latex
  • latex_raw
  • latex_booktabs
  • textile

使用 dataFrame.style 在表格中显示 Pandas DataFrame

我们可以使用 Pandas Style API 以表格样式显示 Pandas DataFrame。我们将在以下代码中使用 dataframe.style。当我们使用 dataframe.style 时,它会返回一个 Styler object,其中包含用于显示 pandas dataframes 的不同格式设置方法。

示例代码:

import pandas as pd
  
# creating a DataFrame
dict = {'Students' : ['Intel Dell Laptops', 'HP Laptops', 'Lenavo Laptops', 'Acer Laptops'],
        'Price dollar' : [350, 300, 400, 250 ],
        'Percentage Sale' : [83, 99, 84, 76]}
dataframe = pd.DataFrame(dict)
  
# displaying the DataFrame
dataframe.style

输出:

以表格样式显示 Pandas DataFrame - dataframe.style

Pandas 的样式表 DataFrame

为了增强 Pandas DataFrame 表的样式,我们可以通过与 styler object 链接来使用各种内置函数。

突出显示最大值

请参阅以下示例,其中我们通过与样式器对象链接来使用 highliglight_max() 函数。

示例代码:

import pandas as pd

# creating a DataFrame
dict = {'Students' : ['Intel Dell Laptops', 'HP Laptops', 'Lenavo Laptops', 'Acer Laptops'],
        'Price dollar' : [350, 300, 400, 250 ],
        'Percentage Sale' : [83, 99, 84, 76]}
dataframe = pd.DataFrame(dict)
  
# displaying the DataFrame
dataframe.style.highlight_max()

输出:

以表格样式显示 Pandas DataFrame - dataframe.style.highlight_max

使用 background_gradient() 函数创建 heatmaps

在下面的示例中,我们通过与样式器对象链接来使用 background_gradient() 函数在 pandas DataFrame 表中创建热图。

示例代码:

import pandas as pd

# creating a DataFrame
dict = {'Students' : ['Intel Dell Laptops', 'HP Laptops', 'Lenavo Laptops', 'Acer Laptops'],
        'Price dollar' : [350, 300, 400, 250 ],
        'Percentage Sale' : [83, 99, 84, 76]}
dataframe = pd.DataFrame(dict)
  
# displaying the DataFrame
dataframe.style.background_gradient()

输出:

以表格样式显示 Pandas DataFrame - dataframe.style.background_gradient

在 Pandas DataFrame 中设置表属性

我们可以使用 set_properties() 函数增加 Pandas DataFrame 表装饰,如下所示:

示例代码:

import pandas as pd

# creating a DataFrame
dict = {'Students' : ['Intel Dell Laptops', 'HP Laptops', 'Lenavo Laptops', 'Acer Laptops'],
        'Price dollar' : [350, 300, 400, 250 ],
        'Percentage Sale' : [83, 99, 84, 76]}
dataframe = pd.DataFrame(dict)
  
# displaying the DataFrame
dataframe.style.set_properties(**{'border': '1.5px solid blue',
                          'color': 'red'})

输出:

以表格样式显示 Pandas DataFrame - dataframe.style.set_properties

创建自定义功能

我们还可以将自定义函数与 styler object 一起使用,如下所示:

示例代码:

import pandas as pd
import numpy as np
  
def table_color(val):
    """
    Takes a scalar and returns a string with
    the css property `'color: red'` for less than 60 marks, green otherwise.
    """
    color = 'green' if val > 60 else 'red'
    return 'color: % s' % color
  
# creating a DataFrame
dict = {'Computer Science' : [77, 91, 47, 95],
        'Statistics' : [83, 99, 74, 66],
           'English': [71, 67, 40, 55]}
        
dataframe = pd.DataFrame(dict)
  
# displaying the DataFrame
dataframe.style.applymap(table_color)

输出:

以表格样式显示 Pandas DataFrame - dataframe.style.set_properties

相关文章 - Pandas DataFrame