【发布时间】:2020-05-20 03:29:34
【问题描述】:
我在应用带有 lambda 函数的 applymap() 来替换 Styler Dataframe 中的现有字符串时遇到问题。 例如。我们必须用“黄色”替换更改,用“绿色”替换新。我坚持应用该函数来替换 Styler Dataframe 中的值。
import pandas as pd
out=r'C:\Users\test\changes.xlsx'
df = pd.read_excel(r'C:\Users\test\update.xlsx')
def mycolors(val):
#print(val)
stra = 'Changed-'
stri = 'New-'
color = 'white'
if stra in str(val):
color = 'yellow'
elif stri in str(val):
color = 'green'
#print(type(color))
return 'background-color: %s' % color
df = df.style.applymap(mycolors)
df = df.applymap(lambda x: str(x).replace('Changed-',''))
#print(df)
df.to_excel(out, header=True, index=False)
【问题讨论】:
-
这对我来说是正确的,你到底看到了什么问题?
-
第二次使用 applymap() 和 lambda 函数来移除 'Changed-' 时出现异常。仅当我使用 lambda 和样式函数为 excel 着色时才会发生这种情况。
-
太好了,您介意发布问题中异常的堆栈跟踪吗?
-
我收到此警告,'CSSWarning:格式错误的属性:'nan' CSSWarning 中应有一个冒号,'。但是,如果我通过保持单个 applymap 运行,则它适用于替换功能。但是输出没有变化,它只是突出显示而不删除Changed-标签
标签: python pandas dataframe data-science pandas-styles