import pandas as pd
import numpy as np
np.random.seed(24)
df = pd.DataFrame({'A': np.linspace(1, 10, 10)})
df = pd.concat([df, pd.DataFrame(np.random.randn(10, 4), columns=list('BCDE'))],
axis=1)
df.iloc[3, 3] = np.nan
df.iloc[0, 2] = np.nan
df.style.applymap('green', subset=pd.IndexSlice[1:3, 'B': 'C']).\
to_excel('sA009.xlsx', engine='openpyxl')
TypeError:第一个参数必须是可调用的。df.style.applymap('green',subset = pd.IndexSlice [1:3,'B':'C']),没有错误。但df.style.applymap('green',subset = pd.IndexSlice [1:3,'B':'C'])。
to_excel('sA009.xlsx',engine ='openpyxl')不起作用?为什么我需要使用“功能”而不是“绿色”?
该函数df.style.appylmap(...)
具有第一个参数,该函数采用标量并返回带有CSS属性-值对的单个字符串。
例如,来自https://pandas.pydata.org/pandas-docs/stable/user_guide/style.html的函数将使负数变为红色,正数变为黑色。
def color_negative_red(val):
"""
Takes a scalar and returns a string with
the css property `'color: red'` for negative
strings, black otherwise.
"""
color = 'red' if val < 0 else 'black'
return 'color: %s' % color
在这种情况下,单元格的样式仅取决于其自身的值。这意味着我们应该使用在Styler.applymap
元素上起作用的方法。
s = df.style.applymap(color_negative_red)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句