当前位置: 首页 > article >正文

Pandas 16-条件格式化

1. 使用条件表达式

条件表达式可以直接在 DataFrame 上应用,根据条件对数据进行格式化。

示例代码
import pandas as pd  
  
# 创建示例 DataFrame  
df = pd.DataFrame({  
    'A': [1, 2, 3, 4, 5],    'B': [10, 20, 30, 40, 50]})  
  
# 使用条件表达式进行格式化  
df['A_formatted'] = df['A'].apply(lambda x: '高' if x > 3 else '低')  
print(df)  

输出:

   A   B A_formatted0  1  10          低  
1  2  20          低  
2  3  30          低  
3  4  40          高  
4  5  50          高  

2. 使用 apply 方法

apply 方法可以应用于整个 DataFrame 或特定的列,根据自定义函数进行格式化。

示例代码
# 创建示例 DataFrame  
df = pd.DataFrame({  
    'A': [1, 2, 3, 4, 5],    'B': [10, 20, 30, 40, 50]})  
  
# 自定义格式化函数  
def format_value(value):  
    if value > 30:        return '高'  
    elif value > 20:        return '中'  
    else:        return '低'  
  
# 使用 apply 方法进行格式化  
df['B_formatted'] = df['B'].apply(format_value)  
print(df)  

输出:

   A   B B_formatted0  1  10          低  
1  2  20          低  
2  3  30          中  
3  4  40          高  
4  5  50          高  

3. 使用样式功能

Pandas 提供了样式功能,可以对 DataFrame 进行更复杂的格式化,包括颜色、字体等。

示例代码
# 创建示例 DataFrame  
df = pd.DataFrame({  
    'A': [1, 2, 3, 4, 5],    'B': [10, 20, 30, 40, 50]})  
  
# 自定义样式函数  
def highlight_values(value):  
    if value > 30:        return 'background-color: yellow'    elif value > 20:        return 'background-color: orange'    else:        return 'background-color: green'  
# 应用样式  
styled_df = df.style.applymap(highlight_values)  
styled_df  

输出:

   A   B0  1  10  # 绿色背景  
1  2  20  # 绿色背景  
2  3  30  # 橙色背景  
3  4  40  # 黄色背景  
4  5  50  # 黄色背景  

4. 结合使用条件表达式和样式功能

可以将条件表达式和样式功能结合使用,实现更复杂的格式化效果。

示例代码
# 创建示例 DataFrame  
df = pd.DataFrame({  
    'A': [1, 2, 3, 4, 5],    'B': [10, 20, 30, 40, 50]})  
  
# 自定义样式函数  
def highlight_values(value):  
    if value > 30:        return 'background-color: yellow'    elif value > 20:        return 'background-color: orange'    else:        return 'background-color: green'  
# 应用样式  
styled_df = df.style.applymap(highlight_values)  
styled_df  

输出:

   A   B0  1  10  # 绿色背景  
1  2  20  # 绿色背景  
2  3  30  # 橙色背景  
3  4  40  # 黄色背景  
4  5  50  # 黄色背景  

总结

通过条件表达式、apply 方法和样式功能,可以灵活地对 DataFrame 进行条件格式化,以便更直观地展示数据特征。以下是一个完整的示例代码,展示了如何结合使用这些方法:

import pandas as pd  
  
# 创建示例 DataFrame  
df = pd.DataFrame({  
    'A': [1, 2, 3, 4, 5],    'B': [10, 20, 30, 40, 50]})  
  
# 使用条件表达式进行格式化  
df['A_formatted'] = df['A'].apply(lambda x: '高' if x > 3 else '低')  
print("使用条件表达式进行格式化:")  
print(df)  
  
# 自定义格式化函数  
def format_value(value):  
    if value > 30:        return '高'  
    elif value > 20:        return '中'  
    else:        return '低'  
  
# 使用 apply 方法进行格式化  
df['B_formatted'] = df['B'].apply(format_value)  
print("\n使用 apply 方法进行格式化:")  
print(df)  
  
# 自定义样式函数  
def highlight_values(value):  
    if value > 30:        return 'background-color: yellow'    elif value > 20:        return 'background-color: orange'    else:        return 'background-color: green'  
# 应用样式  
styled_df = df.style.applymap(highlight_values)  
print("\n应用样式:")  
styled_df  

http://www.kler.cn/news/288508.html

相关文章:

  • Ozon现在什么品类好卖,OZON热销类目
  • 苏州科技大学商学院:加强生态保护,推动绿色发展
  • 使用 Quickwit 的搜索流功能为 ClickHouse 添加全文搜索
  • C++day5
  • Postgres扩展之PGAudit:审计
  • 【架构-28】轮询,最小连接、随机等负载均衡算法
  • 量化交易思维,分析数据,炒股真的能让人在短时间内变富吗
  • 测试环境下使用HTTPS证书申请
  • PDF的4大限制功能详解:如何保护你的文件?
  • 024集—— 正则表达式、replace、DateTime日期的用法——C#学习笔记
  • 关于SSL认证后出现的http和https无法同时访问问题
  • 【原创】edge-tts与基于mpv的edge-playback,使命令行和Python的Text To Speech唾手可得
  • SDN架构详解
  • 黄仁勋预言步入现实 谷歌展示实时游戏生成AI模型GameNGen
  • ELAU伺服控制器
  • 《从C/C++到Java入门指南》- 23.关键字及其新特性
  • 【PyTorch】安装,环境搭建
  • 【Netty】实战:基于Http的Web服务器
  • 数据分析及应用:如何分析基于绝对中位差的异常值检测问题?
  • LINUX网络编程:Tcpsocket封装
  • Java GC机制:Minor GC与Full GC的触发条件
  • 假期作业--数据结构
  • uniapp插槽用法
  • vue子组件样式影响父组件
  • 每天一个数据分析题(五百一十六)- 贝叶斯分类算法
  • Axure打造科技感数据可视化大屏原型
  • 网络安全宗旨和目标
  • OpenCV颜色空间转换(1)颜色空间转换函数cvtColor()的使用
  • 【论文阅读】skill code 和 one-shot manipulate
  • C++ 设计模式——职责链模式