比较(七)利用python绘制表格

比较(七)利用python绘制表格

表格(Table)简介

1

表格是数据在行和列中的结构化排列,允许进行方便的排序、过滤和分析。表格的优点在于可以清晰、有组织的呈现信息,便于快速比较和解读信息。

快速绘制

  1. 基于pandas

    可能需要更新jinja2:pip install --upgrade jinja2

    import pandas as pd
    import matplotlib as mpl
    import numpy as np
    
    # 自定义数据
    sample_size = 6
    
    new_york = np.random.uniform(20,60,sample_size)
    paris = np.random.uniform(20,40,sample_size)
    london = np.random.uniform(5,30,sample_size)
    
    df = pd.DataFrame({
         'new_york': new_york,
                       'paris': paris,
                       'london': london},
                     index=pd.date_range(start="2020-01-01", periods=sample_size).strftime("%d-%m-%Y"))
    
    
    
    # 自定义风格函数
    def custom_table(styler):
        styler.background_gradient(cmap="Blues", axis=None) # 色阶
        styler.format(precision=2)
    
        # 文本格式
        styler.applymap(lambda x: 'text-align: center; font-size: 14px;') 
        return styler
    
    agg_metrics = df.agg(["mean", "max"]) # 增加统计数据
    pd.concat([df, agg_metrics]).style.pipe(custom_table)
    

    2

  2. 基于plottable

    import matplotlib.pyplot as plt
    import pandas as pd
    from plottable import Table
    
    # 自定义数据
    data = {
         'Score': [8, 6, 10, 3, 9],
            'Value': [50.42, 17.01, 42.90, 6.83, 92.06],
            'Comment': ['Nice', 'Cool', 'Fun', 'Bad', 'Okay']}
    df = pd.DataFrame(data)
    
    # 初始布局
    fig, ax = plt.subplots(figsize=(5, 5))
    
    # 绘制表
    tab = Table(df)
    
    plt.show()
    

    3

  3. 基于matplotlib

    import pandas as pd
    import matplotlib.pyplot as plt
    import numpy as np
    
    # 自定义数据
    data = {
         'Freeze': [ 66386, 174296,  75131, 577908,  32015],
            'Wind': [ 58230, 381139,  78045,  99308, 160454],
            'Flood': [ 89135,  80552, 152558, 497981, 603535],
            'Quake': [ 78415,  81858, 150656, 193263,  69638],
            'Hail': [139361, 331509, 343164, 781380,  52269],
            'rows': ['%d year' % x for x 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值