在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()
输出 :
例子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')
输出 :
如果你想改变另一列,那么
df.style.background_gradient(subset='D')
输出 :
,