2017-08-15 9 views
5

パンダのメルト機能を使用したいだけで、同じエラーが発生するだけです。'DataFrame'オブジェクトに属性 'melt'がありません

cheese = pd.DataFrame({'first' : ['John', 'Mary'], 
         'last' : ['Doe', 'Bo'], 
         'height' : [5.5, 6.0], 
         'weight' : [130, 150]}) 

私はエラーを取得する:ただ、ドキュメントによって提供された例を入力して

--------------------------------------------------------------------------- 
AttributeError       Traceback (most recent call last) 
<ipython-input-119-dc0a0b96cf46> in <module>() 
----> 1 cheese.melt(id_vars=['first', 'last']) 
C:\Anaconda2\lib\site-packages\pandas\core\generic.pyc in __getattr__(self, name) 

2670    if name in self._info_axis: 
2671     return self[name] 
-> 2672    return object.__getattribute__(self, name) 
2673 
2674  def __setattr__(self, name, value): 

AttributeError: 'DataFrame' object has no attribute 'melt'` 

答えて

7

あなたはバージョンをパンダは怒鳴る0.20.0ので、代わりにDataFrame.meltpandas.meltが必要になります。

df = pd.melt(cheese, id_vars=['first', 'last']) 
print (df) 
    first last variable value 
0 John Doe height 5.5 
1 Mary Bo height 6.0 
2 John Doe weight 130.0 
3 Mary Bo weight 150.0 
2
def grilled(d): 
    return d.set_index(['first', 'last']) \ 
      .rename_axis('variable', 1) \ 
      .stack().reset_index(name='value') 

grilled(cheese) 

    first last variable value 
0 John Doe height 5.5 
1 John Doe weight 130.0 
2 Mary Bo height 6.0 
3 Mary Bo weight 150.0 
関連する問題