【问题标题】:How to assign new `styler` object to pandas DataFrame?如何将新的`styler`对象分配给pandas DataFrame?
【发布时间】:2022-08-23 04:59:42
【问题描述】:
为什么我不能为 pandas 数据框分配新样式?以下分配(最后一行)不起作用,但我想在某些函数中更改给定数据框的样式,这样的功能会很棒:
import pandas as pd
import numpy as np
def color_negative(v, color):
return f\"color: {color};\" if v < 0 else None
df = pd.DataFrame(np.random.randn(5, 2), columns=[\"A\", \"B\"])
s = df.style
s = s.applymap(color_negative, color=\'green\', subset=[\"B\"])
s = s.applymap(color_negative, color=\'red\', subset=[\"A\"])
df.style = s
标签:
python
pandas
dataframe
【解决方案1】:
我认为您正在尝试模仿 styler.use 和 .export 方法。
import pandas as pd
import numpy as np
def color_negative(v, color):
return f"color: {color};" if v < 0 else None
df = pd.DataFrame(np.random.randn(5, 2), columns=["A", "B"])
s = df.style
s = s.applymap(color_negative, color='green', subset=["B"])
s = s.applymap(color_negative, color='red', subset=["A"])
s = s.export()
df.style.use(s)