根据python datafram获取唯一行

2024-10-08 20:25:51 发布

您现在位置: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

Tags: 数据nameorg信息newyearuniquegroupby
1条回答
网友
1楼 · 发布于 2024-10-08 20:25:51

如果您只想保留每个名称的第一个条目,那么可以使用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

相关问题 更多 >

    热门问题