2016-12-16 118 views
1

我有一個數據幀的熊貓與MultiIndexing大熊貓多指標數出現

(Index col 1) (Index col 2) (Data col 1) .... 
A    a   word1 
       a   word2 
       b   word3 
B    a   word4 
       c   word5 

現在我想指望所有具有2.我試過DF指數第1列和索引列的組合相同的行.value_counts(),它給出錯誤'DataFrame沒有方法value_counts()。如果我使用df.count(),則只能計算level = 0或level = 1,但不能同時計數(即使我經常看到在stackoverflow上使用該級別參數似乎不接受列表) 。

所需的輸出: A中的2 A B 1 ..等

[編輯]:可以這麼@ EdChum的評論解決了這個問題,但我仍然不知道爲什麼其他的東西沒有工作?具體來說:爲什麼value_counts似乎沒有被定義,而它是最新熊貓的一部分?這與我使用Jupyter Notebook有什麼關係嗎?或者這些東西在Pandas版本之間有很大變化?

+0

嘗試'df.groupby(level = [0,1])。size()' – EdChum

+0

@EdChum做到了,謝謝! – Celebrian

回答

1

您可以groupby感興趣的指標,並呼籲size返回唯一值的計數:

In [4]: 
df.groupby(level=[0,1]).size() 

Out[4]: 
(Index col 1) (Index col 2) 
A    a    2 
       b    1 
B    a    1 
       c    1 
dtype: int64 

value_counts是一系列的方法,它不是一個DF這就是爲什麼它沒有定義工作

+0

Ipython/Jupyter?或Spyder? – MYGz

+0

@MohammadYusufGhazi你對此有何評論? – EdChum

+0

In [4]和Out [4]表示法。 – MYGz