Python pandas汇总表图

时间:2015-05-15 15:44:55

标签: python pandas matplotlib

真的无法掌握如何绘制大熊猫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

2 个答案:

答案 0 :(得分:8)

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()

enter image description here

答案 1 :(得分:0)

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

抱歉,没有足够的评论积分。