使用apply()突出Pandas DataFrame的特定列
让我们看看如何突出Pandas DataFrame的特定列。我们可以使用Styler类的apply()函数来完成这个任务。
Styler.apply()
语法 : Styler.apply(func, axis = 0, subset = None, **kwargs)
参数 :
- func : 函数应该接受一个系列或DataFrame(取决于axis),并返回一个具有相同形状的对象。当axis = None时,必须返回一个具有相同索引和列标签的DataFrame。
- axis : 应用于每一列(axis=0或’index’)或每一行(axis=1或’columns’),或一次性应用于整个DataFrame,axis = None。
- subset : 有效的索引器,在应用函数之前限制数据。
- kwargs:传递给func的dict。
让我们用例子来理解。
例子1 :
# importing pandas as pd
import pandas as pd
# creating the dataframe
df = pd.DataFrame({"A" : [14, 4, 5, 4, 1],
"B" : [5, 2, 54, 3, 2],
"C" : [20, 20, 7, 3, 8],
"D" : [14, 3, 6, 2, 6],
"E" : [23, 45, 64, 32, 23]})
print("Original DataFrame :")
display(df)
# function definition
def highlight_cols(x):
# copy df to new - original data is not changed
df = x.copy()
# select all values to green color
df.loc[:, :] = 'background-color: green'
# overwrite values grey color
df[['B', 'C', 'E']] = 'background-color: grey'
# return color df
return df
print("Highlighted DataFrame :")
display(df.style.apply(highlight_cols, axis = None))
输出 :
例子2 :
# importing pandas as pd
import pandas as pd
# creating the dataframe
df = pd.DataFrame({"Name" : ["Yash", "Ankit", "Rao"],
"Age" : [5, 2, 54]})
print("Original DataFrame :")
display(df)
# function definition
def highlight_cols(x):
# copy df to new - original data is not changed
df = x.copy()
# select all values to yellow color
df.loc[:, :] = 'background-color: yellow'
# return color df
return df
print("Highlighted DataFrame :")
display(df.style.apply(highlight_cols, axis = None))
输出 :