2016-09-15 3 views
4

Я не могу понять, почему это происходит. Я знаю, что это может произойти, если у меня есть имя функции «shadowed». Но как я мог в этом случае?Pandas series.rename дает TypeError: объект 'str' не является вызываемой ошибкой

Если я открываю IPython в моем терминале, а затем введите:

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

Я получаю TypeError: «ул» объект не вызываемая. Что может быть причиной этого?

дольше тзд ошибка:

/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

Вам нужно обновить до '0.18.1' или выше, если вы хотите вводить скалярные значения в' rename' [Docs] (http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#changes- к переименовывать) –

ответ

0

Отлично, спасибо Никилу Мавели, который указал, что мне нужен 0.18.1, теперь он работает. Моя ошибка, думая, что brew upgrade бы разобрала меня, имея последнюю версию.

Смежные вопросы