获得以年熊猫python数据帧为条件的独特行

时间:2014-06-19 22:54:52

标签: python pandas

我有这种形式的数据框。但是,在我的最终数据框架中,我希望每年只获得一个具有唯一值的数据框。

     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 个答案:

答案 0 :(得分: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