簡體   English   中英

獲取以年份熊貓python數據框為條件的唯一行

[英]Getting unique rows conditioned on year pandas python dataframe

我有這種形式的數據框。 但是,在我的最終數據框中,我只想獲得一個每年具有唯一值的數據框。

     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,而且似乎可以按年獲得唯一的名稱。 但是,我被困住了,因為我丟失了所有其他信息,例如“組織”列。 咨詢表示贊賞!

#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

如果您要做的只是保留每個名稱的第一個條目,則可以使用drop_duplicates注意,這將保留第一個條目,但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

暫無
暫無

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

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