使用数据框中的颜色

时间:2018-04-04 15:33:05

标签: python pandas

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

我在数据框中工作。我希望任何名为'巧克力'的味道变成蓝色,我想让其他口味也变成彩色。即'草莓会变红,薄荷会变绿......

如何修复上述代码才能实现?

2 个答案:

答案 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)

enter image description here

答案 1 :(得分:0)

如果你有一个pandas数据框并且列中有颜色,你有几个选项可以达到预期的效果。

其中之一是将您的函数应用于列中的所有值。您可以使用.apply()方法。代码将类似于

df['color'] = df['color'].apply(lambda x: color_chocolate_red(x))

这会将该函数应用于“color”列中的所有值