import pandas as pd
Excel_file = "Cookies2.xlsx"
x = pd.read_excel(Excel_file)
sorted_by_Age = x.sort_values(['Age'], ascending=False)
df = pd.DataFrame(sorted_by_Age)
def color_chocolate_red(val):
color = 'blue' if val == 'Chocolate' else 'black'
return 'color: %s' % color
result = df.style.applymap(color_chocolate_red)
result
我在数据框中工作。我希望任何名为'巧克力'的味道变成蓝色,我想让其他口味也变成彩色。即'草莓会变红,薄荷会变绿......
如何修复上述代码才能实现?
答案 0 :(得分:2)
def colors(val):
mapping = dict(Chocolate='blue', Strawberry='red', Mint='green')
return 'color: {}'.format(mapping.get(val, 'black'))
df = pd.DataFrame(dict(color=['Chocolate', 'Strawberry', 'Mint', 'Orange']))
df.style.applymap(colors)
答案 1 :(得分:0)
如果你有一个pandas数据框并且列中有颜色,你有几个选项可以达到预期的效果。
其中之一是将您的函数应用于列中的所有值。您可以使用.apply()
方法。代码将类似于
df['color'] = df['color'].apply(lambda x: color_chocolate_red(x))
这会将该函数应用于“color”列中的所有值