DataFrame has no melt attribute

I just want to use the melt function in pandas, and I just keep getting the same error.

Just enter the example provided by the documentation:

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

I just get the error message:

 --------------------------------------------------------------------------- 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'` 
+5
source share
2 answers

You are pandas version below 0.20.0 , so pandas.melt instead of DataFrame.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 
+7
source
 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 
+2
source

Source: https://habr.com/ru/post/1270895/


All Articles