熊猫重命名文档中的示例在 Ubuntu 16.04 上不起作用



我正在尝试从pandas重命名文档中复制示例。

s = pd.Series([1,2,3])
s.rename("test")

抛出错误

Traceback (most recent call last):   File "<stdin>", line 1, in
<module>   File
"/usr/lib/python2.7/dist-packages/pandas/core/series.py", line 2264,
in rename
    return super(Series, self).rename(index=index, **kwargs)   File "/usr/lib/python2.7/dist-packages/pandas/core/generic.py", line 606,
in rename
    result._data = result._data.rename_axis(f, axis=baxis, copy=copy)   File "/usr/lib/python2.7/dist-packages/pandas/core/internals.py", line
2588, in rename_axis
    obj.set_axis(axis, _transform_index(self.axes[axis], mapper))   File "/usr/lib/python2.7/dist-packages/pandas/core/internals.py", line
4391, in _transform_index
    items = [func(x) for x in index] TypeError: 'str' object is not callable

我正在运行Ubuntu 16.04.1。我注意到了Python2.7的引用,因此我确保已下载了最近的Pandas和Python版本。

为什么文档引发错误的简单函数?

当事情无法正常工作时,它会令人不安!也许这标志着您要追踪的重要内容,因为它可能标志着其他问题或不兼容。但是,如果您需要这种特殊的事情来工作,那么有一个简单的解决方法:

s = pd.Series([1,2,3])
s.name = 'test'

rename是一种章鱼方法,根据输入(重命名整个系列,重命名索引值,...)。但是,通过将其分配给其name属性,可以非常直接地重述"重命名系列"调用。

注意评论:实际上有效的不是命名Series,而是分配给DataFrame

df['test'] = s

此外,从另一篇文章看来,安装的彻底旋转是另一种成功的方法。

版本困难是由于我对Ubuntu如何运行Python版本的误解引起的。每个人都使用" pip"的地方,这意味着" pip3",而" python"的意思是" python3"。

Ubuntu上的以下步骤解决了我的问题。

sudo apt-get install python3-pip
sudo -H pip3 install pandas

启动后,我需要使用 python3 而不是 python 。。

python3
import pandas as pd #no errors!

最新更新