一个dataframe 某列数据0-80标红色80-90标橙色
时间: 2024-01-04 11:04:30 浏览: 62
你可以使用 pandas 中的 `style` 来设置颜色。具体操作如下:
1. 安装 `pandas`
如果你使用的是 Anaconda,那么 `pandas` 应该已经安装好了。如果没有安装,可以通过以下命令安装:
```
conda install pandas
```
如果你使用的是 pip,可以通过以下命令安装:
```
pip install pandas
```
2. 导入模块
在你的代码中导入 pandas 和 numpy 模块:
```python
import pandas as pd
import numpy as np
```
3. 创建数据
假设你有一个 DataFrame,其中有一列数据叫做 `score`:
```python
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'score': [70, 85, 90, 65]}
df = pd.DataFrame(data)
```
4. 设置颜色
你可以使用 `applymap` 方法来对 DataFrame 中的每一个元素进行操作。下面的代码会对 `score` 列中的值进行判断,并将符合条件的值设置为不同的颜色:
```python
def color_red_orange(val):
if val >= 80:
color = 'red'
elif val >= 70:
color = 'orange'
else:
color = 'black'
return 'color: %s' % color
df.style.applymap(color_red_orange, subset=['score'])
```
上面的代码中,`color_red_orange` 函数接受一个参数 `val`,即 DataFrame 中的一个元素。它会判断这个元素的值,如果大于等于 80,就将字体颜色设置为红色;如果大于等于 70,就将字体颜色设置为橙色;否则将字体颜色设置为黑色。最后,这个函数返回一个字符串,将颜色信息添加到这个字符串中。
`applymap` 方法会对 DataFrame 中的每一个元素都调用 `color_red_orange` 函数,并将函数返回的字符串作为样式信息添加到这个元素的 HTML 标签中。`subset` 参数指定了只对 `score` 列的元素应用样式。
运行上面的代码,你应该会看到 `score` 列中的数值被设置为不同的颜色。
阅读全文