在Python Pandas中设置数据框的背景颜色和字体颜色可以用到Pandas自带的style模块。其主要包括了两个主要函数,即background_gradient()和highlight_max()。
设置背景颜色
1. background_gradient()
使用background_gradient()
函数,可以根据值的大小自动为DataFrame单元格填充渐变颜色。下面是一个简单的示例代码:
import pandas as pd
import numpy as np
# 创建一个5x5的随机矩阵作为数据
data = np.random.rand(5, 5)
# 转成DataFrame
df = pd.DataFrame(data)
# 背景渐变
df.style.background_gradient()
运行上述代码,我们可以看到一个5x5的数据框,每个单元格都自动填充了从蓝色到红色之间的颜色,自适应地跨越最小值和最大值。
如果想要在自定义颜色之间渐变,可以在background_gradient()中传入参数cmap。例如,以下代码将颜色映射为绿色和褐色之间的颜色:
df.style.background_gradient(cmap='Greens')
2. background_gradient() 对列和行设置渐变颜色
默认情况下background_gradient()
会对整个DataFrame进行操作,但是有时候我们可能想要对行和列进行颜色映射。这可以通过设置axis
参数来实现。下面是一个简单的示例代码:
import pandas as pd
import numpy as np
# 创建一个5x5的随机矩阵作为数据
data = np.random.rand(5, 5)
# 转成DataFrame
df = pd.DataFrame(data, columns=list('ABCDE'))
# 对行进行颜色映射
df.style.background_gradient(axis=0)
上述代码会对每一行的数据进行颜色映射。如果想要对每一列进行颜色映射,则可以将参数axis
设置为1。
设置字体颜色
1. highlight_max() 和 highlight_min()
使用highlight_max()
和highlight_min()
函数可以为DataFrame中最大和最小的值设置字体颜色。
以下是一个简单的示例代码:
import pandas as pd
import numpy as np
# 创建一个5x5的随机矩阵作为数据
data = np.random.rand(5, 5)
# 转成DataFrame
df = pd.DataFrame(data, columns=list('ABCDE'))
# 对于每一行数据,高亮显示最大值
df.style.highlight_max(axis=1)
该代码会对每一行数据的最大值进行高亮显示。如果要对最小值进行高亮显示,则使用highlight_min()
函数。
2. 自定义颜色
使用highlight_max()
和highlight_min()
函数,我们还可以自定义字体颜色和背景颜色。
以下是一个示例代码:
import pandas as pd
import numpy as np
# 创建一个5x5的随机矩阵作为数据
data = np.random.rand(5, 5)
# 转成DataFrame
df = pd.DataFrame(data, columns=list('ABCDE'))
# 自定义颜色
df.style.highlight_max(axis=1, color='green', dark='red')
该代码将最大值的字体颜色设置为绿色,背景颜色设置为红色。同样,我们也可以使用highlight_min()
自定义最小值的颜色。
总的来说,使用Pandas的内置style模块可以快速轻松地为DataFrame设置背景颜色和字体颜色。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Python中设置Pandas数据框的背景颜色和字体颜色 - Python技术站