2015-05-03 45 views
1

自動完成與大熊貓IPython中似乎被打破

命名爲熊貓數據幀我想調用frame[SomeCoulmnname].value_counts()方法

的問題是,IPython的犯規自動完成即使我鍵入v之後的 事實上,它甚至不會返回任何建議。

但是,如果我只是鍵入系列。然後按下該選項卡,它會返回我正在查找的可能方法。

我的問題是爲什麼iPython的行爲像這樣?雖然與PyCharm一樣的工作!

對此的任何幫助將不勝感激。謝謝

回答

1

這不是特定於熊貓。

IPython無法知道/猜測通過運行frame[SomeCoulmnname]返回的對象的類型,而無需實際運行它。由於它也不能假設運行它是安全的/快速的/等,它不會運行它。

由於它不知道對象的類型,因此不能爲其提供完成。

Series.<TAB>可以工作,因爲不需要猜測。 IPython知道Series是一種類型,因此它可以解析其成員。

的溶液。將臨時值賦值給一個變量:

s = frame[SomeCoulmnname] 
s.v<TAB> 
+0

確定..所以你的建議,我將具有存儲幀[somecolumnname]的'結果'到另一個變量中的每個時間??我試過了,它的工作......但感覺對我很重,因爲我是一名學習者:) – function

+1

我正在將此答案標記爲正確的...因爲它正在工作:) ..我也會渴望聽其他可能的解決方案...謝謝shx2 :) – function

+1

如果你的列名是一個有效的Python標識符,你可以像「frame.SomeColumnname.value_counts()'這樣訪問它,這樣IPython將爲它提供標籤完成。 –