2016-11-07 67 views
-1

有没有人知道如何解决问题“no attr ='标签下dataframe.index”时,从Pivot生成的dateframe?
请从下面两个例子,
第一个(支点数据帧)返回错误“索引没有ATTR‘标签’,
第二个(” GROUPBY”据帧)的作品。熊猫枢轴输出到html

实施例关于 '枢轴':

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 

输出:关于 'GROUPBY'

 
-------Result--------- 
B B1 B2 
A 
A1 1.0 2.0 
A2 4.0 3.0 
------View Index------ 

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

------View Label------ 
Traceback (most recent call last): 
    File "test6.py", line 15, in 
    print df_pivot.index.labels 
AttributeError: 'Index' object has no attribute 'labels' 

实施例:

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 

输出:

 
-------Result--------- 
     QTY 
A B 
A1 B1 1.0 
    B2 2.0 
A2 B1 4.0 
    B2 3.0 
------View Index------ 

    MultiIndex(levels=[[u'A1', u'A2'], [u'B1', u'B2']], 
       labels=[[0, 0, 1, 1], [0, 1, 0, 1]], 
       names=[u'A', u'B']) 

------View Label------ 
[[0, 0, 1, 1], [0, 1, 0, 1]] 
+0

您能否提供一个示例并显示完整的错误消息,包括触发错误的行? – IanS

回答

0

看来指数有没有标签ATTR,所以我要补充 “isinstance(指数,pd.Index)” 申请不同的逻辑。