[英]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.