2016-11-07 13 views
-1

誰かがdateframeがPivotから生成されたときに "no attr = 'labels' from dataframe.index"という問題を修正する方法を知っていますか?

最初の1つ(ピボットデータフレーム)の戻りエラー 'indexにはattr'ラベルがありません。
2番目のもの( 'groupby'データフレーム)が機能します。 'ピボット' のPandas Pivotが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)" を追加する必要がありそうです。