2016-09-15 73 views
4

我无法弄清楚为什么会发生这种情况。我知道这可能会发生,如果我有某种功能名称“阴影”。但是在这种情况下我怎么能?Pandas series.rename给出TypeError:'str'对象无法调用错误

如果我在终端打开的IPython,然后键入:

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

我得到类型错误:“海峡”对象不是可调用的。这可能是什么原因造成的?

较长错误味精:

/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

+1

您使用的是哪个版本的熊猫? – gabra

+0

嗨,这就是我在'pd .__ version__:u'0.17.1''。我尝试过'brew update'和'brew upgrade',所以一切都应该是最新的。 – johnblund

+3

如果您要将标量值输入到'rename' [文档](http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#changes-对重命名) –

回答

0

非常感谢Nickil Maveli指出我需要0.18.1,现在它可以工作。我错误的想法brew upgrade本可以整理出我有最新版本。

相关问题