Python 熊猫:在groupby'中删除重复项;日期';
在下面的数据框中,我想消除重复的Python 熊猫:在groupby'中删除重复项;日期';,python,pandas,duplicates,unique,pandas-groupby,Python,Pandas,Duplicates,Unique,Pandas Groupby,在下面的数据框中,我想消除重复的cid值,以便df.groupby('date').cid.size()的输出与df.groupby('date').cid.nunique()的输出匹配 我已经研究过这个问题,但它似乎没有一个解决问题的可靠办法 df = pd.read_csv('https://raw.githubusercontent.com/108michael/ms_thesis/master/crsp.dime.mpl.df') df.groupby('date').cid.size
cid
值,以便df.groupby('date').cid.size()的输出与df.groupby('date').cid.nunique()的输出匹配
我已经研究过这个问题,但它似乎没有一个解决问题的可靠办法
df = pd.read_csv('https://raw.githubusercontent.com/108michael/ms_thesis/master/crsp.dime.mpl.df')
df.groupby('date').cid.size()
date
2005 7
2006 237
2007 3610
2008 1318
2009 2664
2010 997
2011 6390
2012 2904
2013 7875
2014 3979
df.groupby('date').cid.nunique()
date
2005 3
2006 10
2007 227
2008 52
2009 142
2010 57
2011 219
2012 99
2013 238
2014 146
Name: cid, dtype: int64
我尝试过的事情:
df.groupby([df['date']]).drop_duplicates(cols='cid')
给出此错误:AttributeError:无法访问'DataFrameGroupBy'对象的可调用属性'drop_duplicates',请尝试使用'apply'方法
df.groupby(('date').drop\u duplicates('cid'))
给出此错误:AttributeError:'str'对象没有属性'drop\u duplicates'
不需要groupby根据几列删除重复项,您可以指定一个子集:
df2 = df.drop_duplicates(["date", "cid"])
df2.groupby('date').cid.size()
Out[99]:
date
2005 3
2006 10
2007 227
2008 52
2009 142
2010 57
2011 219
2012 99
2013 238
2014 146
dtype: int64
谢谢你的评论!是的,成功了!我想知道一些类型的子集。您的第二个属性错误只是由执行以下命令引起的:('date')。删除重复项('cid')
,这与熊猫无关。事实上,错误消息告诉您,'date'
,一个str
类型对象,没有名为drop\u duplicates
的属性。