在Pandas的指定列上做一个梯度颜色映射

在Pandas的指定列上做一个梯度颜色映射

让我们看看如何在Pandas DataFrame的特定列上进行颜色渐变映射。我们可以使用Styler类中的Styler.background_gradient()函数来实现这一目的。

语法 : Styler.background_gradient(cmap=’PuBu’, low=0, high=0, axis=0, subset=None)

参数 :

cmap : str 或 colormap (matplotlib colormap)

low,high : float(通过这些值压缩范围。)

axis : int or str (1 or ‘columns’ for columnwise, 0 or ‘index’ for rowwise)

subset: IndexSlice(一个有效的数据切片,以限制样式应用)。

返回 : self

步骤 :

  • 导入Pandas模块
  • Create DataFrame
  • 用style.background_gradient()函数明智地选择特定的列
  • Display DataFrame

让我们用例子来理解。

例子1 :

创建一个DataFrame并对所有的列进行渐变。

# importing pandas module
import pandas as pd
 
# Creating pandas DataFrame
df = pd.DataFrame({"A": [1, 2, -3, 4, -5, 6],
                   "B": [3, -5, -6, 7, 3, -2],
                   "C": [-4, 5, 6, -7, 5, 4],
                   "D": [34, 5, 32, -3, -56, -54]})
 
# Displaying the original DataFrame
print("Original Array : ")
print(df)
 
# background color mapping
print("\nDataframe - Gradient color:")
df.style.background_gradient()

输出 :

在Pandas的指定列上做一个梯度颜色映射

例子2 :

创建一个DataFrame并对特定的列进行梯度处理

# importing pandas module
import pandas as pd
 
# Creating pandas DataFrame
df = pd.DataFrame({"A": [1, 2, -3, 4, -5, 6],
                   "B": [3, -5, -6, 7, 3, -2],
                   "C": [-4, 5, 6, -7, 5, 4],
                   "D": [34, 5, 32, -3, -56, -54]})
 
# Displaying the original DataFrame
print("Original Array : ")
print(df)
 
# background color mapping
print("\nDataframe - Gradient color:")
 
# df.style.background_gradient()
df.style.background_gradient(subset='B')

输出 :

在Pandas的指定列上做一个梯度颜色映射

如果你想改变另一列,那么

df.style.background_gradient(subset='D')

输出 :

在Pandas的指定列上做一个梯度颜色映射

,

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程