import pandas as pd # 定义标背景框色函数 def background_color(val): color = 'red' if val < 60 else 'yellow' if val < 80 else 'green' return { 'background-color': color, 'border': '1px solid black' } # 创建DataFrame df = pd.DataFrame({ 'name': ['Alice', 'Bob', 'Charlie', 'David'], 'score': [70, 55, 85, 90] }) # 创建Styler对象并应用标背景框色函数 styler = df.style.applymap(background_color, subset=['score']) styler too many values to unpack (expected 2)
时间: 2023-08-18 07:08:00 浏览: 105
ModuleNotFoundError: No module named ‘sklearn.cross_validation’
这个错误是因为在执行`background_color`函数时返回的字典格式不正确。`background_color`函数应该返回一个包含两个元素的元组,第一个元素是字符串格式的CSS样式,第二个元素是None。具体来说,你需要将函数的返回值改为`return ('background-color: {}; border: 1px solid black'.format(color), None)`。修改后的代码如下:
```python
import pandas as pd
# 定义标背景框色函数
def background_color(val):
color = 'red' if val < 60 else 'yellow' if val < 80 else 'green'
return ('background-color: {}; border: 1px solid black'.format(color), None)
# 创建DataFrame
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'score': [70, 55, 85, 90]
})
# 创建Styler对象并应用标背景框色函数
styler = df.style.applymap(background_color, subset=['score'])
styler
```
这样就可以正确执行了。
阅读全文