`style.format()` 方法的具体用法和示例
style.format()
方法是 pandas 中用于定制 DataFrame 显示格式的一个强大工具。它允许用户对 DataFrame 中的数值进行格式化,以便更好地展示数据。以下是 style.format()
方法的具体用法和示例。
基本用法
style.format()
方法的基本语法如下:
DataFrame.style.format(formatters=None, na_rep='NaN', escape='html', **kwargs)
- formatters: 可以是一个字典,键为列名,值为格式字符串或格式化函数。
- na_rep: 用于表示缺失值的字符串,默认是
'NaN'
。 - escape: 是否对 HTML 进行转义,默认为
'html'
。 - kwargs: 其他参数。
示例
1. 基本格式化
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({
"日期": ["2022-10-01", "2022-11-11", "2022-12-12"],
"单价": [1099.5, 8790.0, 12.55],
"数量": [1, 3, 1200],
})
# 将日期列转换为 datetime 类型
df["日期"] = pd.to_datetime(df["日期"])
# 定义格式化规则
col_format = {
"日期": "{:%Y/%m/%d}", # 日期格式
"单价": "¥{:,.2f}", # 单价格式
"数量": "{:,} 件" # 数量格式
}
# 应用格式化
formatted_df = df.style.format(col_format)
formatted_df
2. 使用自定义格式化函数
你可以使用自定义函数来格式化数据。例如,下面的示例将单价格式化为带有颜色的字符串。
def highlight_positive(val):
color = 'red' if val > 1000 else 'black'
return f'color: {color}'
# 应用自定义格式化
formatted_df = df.style.format({
"单价": lambda x: f'¥{x:,.2f}'
}).applymap(highlight_positive, subset=["单价"])
formatted_df
3. 处理缺失值
你可以使用 na_rep
参数来指定缺失值的显示格式。
# 创建包含缺失值的 DataFrame
df_with_nan = pd.DataFrame({
"日期": ["2022-10-01", None, "2022-12-12"],
"单价": [1099.5, None, 12.55],
"数量": [1, 3, None],
})
# 定义格式化规则
col_format = {
"日期": "{:%Y/%m/%d}",
"单价": "¥{:,.2f}",
"数量": "{:,} 件"
}
# 应用格式化,指定缺失值的显示格式
formatted_df = df_with_nan.style.format(col_format, na_rep='缺失值')
formatted_df
4. 多种格式化
你可以在同一个 DataFrame 中对不同列使用不同的格式化规则。
# 创建 DataFrame
df = pd.DataFrame({
"日期": ["2022-10-01", "2022-11-11", "2022-12-12"],
"单价": [1099.5, 8790.0, 12.55],
"数量": [1, 3, 1200],
})
# 定义格式化规则
col_format = {
"日期": "{:%Y/%m/%d}",
"单价": "¥{:,.2f}",
"数量": "{:,.0f} 件" # 数量不显示小数
}
# 应用格式化
formatted_df = df.style.format(col_format)
formatted_df
总结
style.format()
方法是 pandas 中一个非常实用的工具,能够帮助用户以更直观的方式展示数据。通过灵活使用格式化字符串和自定义函数,用户可以根据需要调整 DataFrame 的显示效果,使数据分析和报告更加美观和易于理解。
原文地址:https://blog.csdn.net/weixin_43822401/article/details/142549763
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!