上一篇介绍了DataFrame的显现参数,主要是对DataFrame中值进行调整。

本篇介绍DataFrame的显现款式的调整,显现款式主要是对表格自身的调整,
比方色彩,经过色彩能够突出显现重要的值,观察数据时能够更加高效的获取主要信息。

下面介绍一些针对单个数据和批量数据的款式调整方法,让DataFrame的数据信息更加的一目了然。

1. 多列显现格局

每个DataFrame都有个style属性,经过这个属性能够来调整显现的款式。
下面的示例,一次调整多个类型的列的显现。

import pandas as pd
df = pd.DataFrame(
    {
        "日期": ["2022-10-01", "2022-11-11", 
               "2022-12-12", "2023-01-01", "2023-02-02"],
        "单价": [1099.5, 8790.0, 12.55, 10999.0, 999.5],
        "数量": [1, 3, 1200, 4, 5],
    }
)
df["日期"] = pd.to_datetime(df["日期"])
col_format = {
    "日期": "{:%Y/%m/%d}", 
    "单价": "{:,.2f}", 
    "数量": "{:,} 件"
}
df.style.format(col_format)

pandas小技巧-DataFrame的显示样式

调整之后:

  1. 日期格局改成用/来分割
  2. 单价前加了人民币符号,而且用逗号作为千位分隔符
  3. 数量用逗号作为千位分隔符,加了单位

调整之后,表格中的内容放入陈述中会更加美观。

2. 布景色款式

除了调整数值的显现款式,更强大的功用是,我们能够调整单元格的色彩。

比方,下面的数据,我们先计算出总价,
然后用红色布景符号出总价最小的订单,用绿色布景符号出总价最大的订单。

df = pd.DataFrame(
    {
        "订单号": ["0001", "0002", 
                "0003", "0004", "0005"],
        "单价": [1099.5, 8790.0, 
               12.55, 10999.0, 999.5],
        "数量": [1, 3, 1200, 4, 5],
    }
)
df["总价"] = df["单价"] * df["数量"]
col_format = {
    "单价": "{:,.2f}",
    "总价": "{:,.2f}",
}
df.style.format(col_format).highlight_min(
    "总价", color="red"
    ).highlight_max(
        "总价", color="lightgreen"
    )

pandas小技巧-DataFrame的显示样式

3. 渐变色款式

添加布景色之后,只能看出哪个订单总价最高,哪个订单总价最低。
关于其他的订单,没有直观的印象,所以,下面我们更进一步用渐变色来符号总价列。

总价越高,布景色越深,这样就对所有订单的总价有了直观的印象。

df = pd.DataFrame(
    {
        "订单号": ["0001", "0002", "0003", "0004", "0005"],
        "单价": [1099.5, 8790.0, 12.55, 10999.0, 999.5],
        "数量": [1, 3, 1200, 4, 5],
    }
)
df["总价"] = df["单价"] * df["数量"]
col_format = {
    "单价": "{:,.2f}",
    "总价": "{:,.2f}",
}
df.style.format(
    col_format
    ).background_gradient(
        subset="总价", cmap="Greens"
    )

pandas小技巧-DataFrame的显示样式

4. 条形图款式

再进一步,用条形图+渐变色的方法显现总价信息。
这样,不仅能够看出总价的高低,还能大致看出究竟高了多少。

df = pd.DataFrame(
    {
        "订单号": ["0001", "0002", "0003", "0004", "0005"],
        "单价": [1099.5, 8790.0, 12.55, 10999.0, 999.5],
        "数量": [1, 3, 1200, 4, 5],
    }
)
df["总价"] = df["单价"] * df["数量"]
col_format = {
    "单价": "{:,.2f}",
    "总价": "{:,.2f}",
}
df.style.format(
    col_format
    ).bar(
        subset="总价", cmap="Wistia"
    )

pandas小技巧-DataFrame的显示样式

5. 总结回顾

经过pandas自身的款式参数,能够美化剖析的结果,直接用于最后的陈述或许PPT中。

pandas小技巧体系至此暂时告一段落,接下来,准备开始另一个关键的数据剖析库:numpy

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。