微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – Pandas series.rename给出TypeError:’str’对象不可调用错误

我无法弄清楚为什么会这样.我知道如果我以某种方式使用函数名称“shadowed”会发生这种情况.但是我怎么能在这种情况下呢?

如果我在终端中打开iPython然后键入:

import pandas as pd
a = pd.Series([1,2,3,4])
a.rename("test")

我得到TypeError:’str’对象不可调用.可能是什么原因造成的?

更长的错误消息:

   /usr/local/lib/python2.7/site-packages/pandas/core/series.pyc in rename(self, index, **kwargs)
   2262     @Appender(generic._shared_docs['rename'] % _shared_doc_kwargs)
   2263     def rename(self, index=None, **kwargs):
-> 2264         return super(Series, self).rename(index=index, **kwargs)
   2265
   2266     @Appender(generic._shared_docs['reindex'] % _shared_doc_kwargs)

/usr/local/lib/python2.7/site-packages/pandas/core/generic.pyc in rename(self, *args, **kwargs)
    604
    605             baxis = self._get_block_manager_axis(axis)
--> 606             result._data = result._data.rename_axis(f, axis=baxis, copy=copy)
    607             result._clear_item_cache()
    608

/usr/local/lib/python2.7/site-packages/pandas/core/internals.pyc in rename_axis(self, mapper, axis, copy)
   2586         """
   2587         obj = self.copy(deep=copy)
-> 2588         obj.set_axis(axis, _transform_index(self.axes[axis], mapper))
   2589         return obj
   2590

/usr/local/lib/python2.7/site-packages/pandas/core/internals.pyc in _transform_index(index, func)
   4389         return MultiIndex.from_tuples(items, names=index.names)
   4390     else:
-> 4391         items = [func(x) for x in index]
   4392         return Index(items, name=index.name)
   4393

测试例here的参考.

解决方法:

太棒了,感谢Nickil Maveli指出我需要0.18.1,现在它可以工作了.我的错误思考brew升级会让我找到最新版本.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐