【问题标题】:Python pandas summary table plotPython pandas 汇总表图
【发布时间】:2015-05-16 05:27:09
【问题描述】:

真的无法掌握如何绘制 pandas df 的汇总表。我确信这不是数据透视表的情况,或者可能是显示数据的转置方法。我能找到的最好的是:Plot table and display Pandas Dataframe 我的代码尝试没有到达那里:

dc = pd.DataFrame({'A' : [1, 2, 3, 4],'B' : [4, 3, 2, 1],'C' : [4, 3, 2, 1]})
data = dc['A'],dc['B'],dc['C']

ax = plt.subplot(111, frame_on=False) 
ax.xaxis.set_visible(False) 
ax.yaxis.set_visible(False)
cols=["A", "B", "C"]
row_labels=[0]
the_table = plt.table(cellText=data,colWidths = [0.5]*len(cols),rowLabels=row_labels, colLabels=cols,cellLoc = 'center', rowLoc = 'center')
plt.show()

我想做的就是制作一个表格图,第一列是 A B C,旁边的行是总数和平均值(见下文)。任何帮助或指导都会很棒...感觉真的很愚蠢...(请原谅代码示例,它还没有包含总数和平均值...)

   Total   Mean
A     x      x
B     x      x
C     x      x

【问题讨论】:

    标签: python pandas matplotlib


    【解决方案1】:
    import pandas as pd
    import matplotlib.pyplot as plt
    
    dc = pd.DataFrame({'A' : [1, 2, 3, 4],'B' : [4, 3, 2, 1],'C' : [3, 4, 2, 2]})
    
    plt.plot(dc)
    plt.legend(dc.columns)
    dcsummary = pd.DataFrame([dc.mean(), dc.sum()],index=['Mean','Total'])
    
    plt.table(cellText=dcsummary.values,colWidths = [0.25]*len(dc.columns),
              rowLabels=dcsummary.index,
              colLabels=dcsummary.columns,
              cellLoc = 'center', rowLoc = 'center',
              loc='top')
    fig = plt.gcf()
    
    plt.show()
    

    【讨论】:

    • 非常感谢 cphlewis 的帮助,这太棒了!为了让其他想要类似表格图的人结束它:使用 cphlewis 答案并将轴可见设置切换为 False,并交换列和索引,在我的问题中绘制的表格没有折线图。
    【解决方案2】:

    dataFrame.describe() 功能对您有帮助吗? http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.describe.html

    抱歉,没有足够的积分给 cmets。

    【讨论】:

      猜你喜欢
      • 2018-02-09
      • 1970-01-01
      • 2016-11-12
      • 2021-03-25
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      相关资源
      最近更新 更多