2014-06-19 40 views
0

我有這種形式的數據框。但是,在我的最終數據框中,我只想得到一個每年具有唯一值的數據框。得到獨特的行條件的一年熊貓python數據框

 Name     Org    Year 
4 New York University  doclist[1] 2004 
5 Babson College   doclist[2] 2008 
6 Babson College   doclist[5] 2008 

那麼理想,我的數據幀將這個樣子,而不是

4 New York University  doclist[1] 2004 
5 Babson College   doclist[2] 2008 

我到目前爲止已經完成。我已經使用了groupby,並且我似乎能夠在一年之內獲得獨一無二的名字。但是,由於我丟失了所有其他信息,例如「Org」列,我被卡住了。建議感激!

#how to get unique rows per year? 
q = z.groupby(['Year']) 

#print q.head() 
#q.reset_index(level=0, drop=True) 

q.Name.apply(lambda x: np.unique(x)) 

爲此,我得到以下輸出。我如何包括其他列的信息以及消除二級指標(如:6,68,66,72)

Year           
2008 6          Babson College 
     68    European Economic And Social Committee 
     66          European Union 
     72      Ewing Marion Kauffman Foundation 

回答

1

如果你想要做的是保持對每個名字的第一個條目,你可以請使用drop_duplicates請注意,這將根據您的數據進行排序來保留第一個條目,因此如果您想保留特定條目,則可能需要先排序。

In [98]: q.drop_duplicates(subset='Name') 
Out[98]: 
         Name   Org Year 
0  New York University doclist[1] 2004 
1   Babson College doclist[2] 2008 
+0

謝謝我認爲這工作! – user3314418