簡體   English   中英

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

[英]Example from pandas rename documentation doesn't work on 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!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM