首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“DataFrame”对象没有“melt”属性

“DataFrame”对象没有“melt”属性
EN

Stack Overflow用户
提问于 2017-08-16 02:19:40
回答 2查看 4.6K关注 0票数 9

我只想在pandas中使用熔化函数,但我总是得到相同的错误。

只需输入文档提供的示例:

代码语言:javascript
复制
cheese = pd.DataFrame({'first' : ['John', 'Mary'],
                      'last' : ['Doe', 'Bo'],
                       'height' : [5.5, 6.0],
                       'weight' : [130, 150]})

我只是得到了错误:

代码语言:javascript
复制
---------------------------------------------------------------------------
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'`
EN

回答 2

Stack Overflow用户

发布于 2017-08-16 02:20:57

你的pandas版本在0.20.0下面,所以需要pandas.melt而不是DataFrame.melt

代码语言:javascript
复制
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
票数 15
EN

Stack Overflow用户

发布于 2017-08-16 02:51:49

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45699040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档