Pandas 将输出转向 html

Pandas Pivot output to html

有谁知道如何解决从 Pivot 生成日期框时的问题"no attr='labels' under dataframe.index"?
请在下面找到两个示例,
第一个(数据透视表)return error 'index has no attr 'labels',
第二个('groupby' 数据框)有效。

'Pivot'的示例:

import pandas as pd
import numpy as np

raw_data = {'A' : ['A1', 'A1', 'A2', 'A2'],
            'B': ['B1', 'B2', 'B2', 'B1'],
            'QTY': [1., 2., 3., 4.],}
df = pd.DataFrame(raw_data)
df_pivot = df.pivot(index='A', columns='B', values='QTY')

print "-------Result---------"
print df_pivot
print "------View Index------"
print df_pivot.index
print "------View Label------"
print df_pivot.index.labels

输出:

 -  -  - -结果 -  -  -  - -
B B1 B2
一个
A1 1.0 2.0
A2 4.0 3.0
------查看索引------

    Index([u'A1', u'A2'], dtype='object', name=u'A')

------查看标签------
追溯(最近一次通话):
  文件 "test6.py",第 15 行,位于
    打印 df_pivot.index.labels
AttributeError: 'Index' 对象没有属性 'labels'

'Groupby'的示例:

import pandas as pd
import numpy as np

raw_data = {'A' : ['A1', 'A1', 'A2', 'A2'],
            'B': ['B1', 'B2', 'B2', 'B1'],
            'QTY': [1., 2., 3., 4.],}
df = pd.DataFrame(raw_data)
#df_pivot = df.pivot(index='A', columns='B', values='QTY')
df_gb = df.groupby(['A','B']).agg({'QTY':'sum'})
print "-------Result---------"
print df_gb
print "------View Index------"
print df_gb.index
print "------View Label------"
print df_gb.index.labels

输出:

 -  -  - -结果 -  -  -  - -
       数量
甲乙
A1 B1 1.0
   B2 2.0
A2 B1 4.0
   B2 3.0
------查看索引------

    MultiIndex(levels=[[u'A1', u'A2'], [u'B1', u'B2']],
               标签=[[0,0,1,1],[0,1,0,1]],
               名字=[u'A', u'B'])

------查看标签------
[[0, 0, 1, 1], [0, 1, 0, 1]]

Index 似乎没有标签 attr,所以我必须添加 "isinstance( index, pd.Index)" 以应用不同的逻辑。