dataframe 2列数据如果不一致的标底色橙色
时间: 2024-03-16 07:43:35 浏览: 18
可以使用 `style` 函数和 `apply` 方法来实现这个需求。
下面是一个示例代码,可以将 DataFrame 中两列数据不一致的单元格标为橙色:
```python
import pandas as pd
# 创建示例 DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [1, 2, 5, 4],
})
# 标记不一致的单元格为橙色
def highlight_diff(s):
return ['background-color: orange' if s[i] != s[i+1] else '' for i in range(len(s)-1)]
df.style.apply(highlight_diff, subset=pd.IndexSlice[:, ['A', 'B']])
```
这段代码中,我们首先创建了一个示例 DataFrame,然后定义了一个名为 `highlight_diff` 的函数,用于判断两列数据是否一致,并返回对应的样式。最后,我们使用 `apply` 方法将这个函数应用到 DataFrame 的所有行中,并指定只对列名为 `A` 和 `B` 的列进行处理。
如果您需要将标记后的结果输出到 HTML 文件或者 Jupyter Notebook 中,可以使用 `to_html` 或者 `render` 方法:
```python
# 输出到 HTML 文件
with open('output.html', 'w') as f:
f.write(df.style.apply(highlight_diff, subset=pd.IndexSlice[:, ['A', 'B']]).render())
# 在 Jupyter Notebook 中显示
df.style.apply(highlight_diff, subset=pd.IndexSlice[:, ['A', 'B']]).render()
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)