我现在的测向仪是这样的:
IDnumber Subid Subsubid Date Originaldataindicator
a 1 x 2006 NaN
a 1 x 2007 NaN
a 1 x 2008 NaN
a 1 x 2008 1
原始数据指示符是这样一个事实的结果:其中一些观察结果是为了获得每个IDnumber的全部三年,而有些则存在于原始数据集中。 我想要实现的是删除重复项并预先保留原始数据。注意,原始数据指示器并不总是最后一次观察。 为了解决这个问题,我首先对Idnumber Date Originaldataindicator排序
但是当我使用:
df=df.drop_duplicates(subset=['IDnumber', 'Subid', 'Subsubid', 'Date'])
什么也没发生,我仍然观察到了复制品。
df=df.drop_duplicates(subset=['IDnumber', 'Subid', 'Subsubid', 'Date'], inplace=True)
给我一个空数据框。
我是不是误解了复制品的作用?
为了避免混淆,这就是我想要的:
IDnumber Subid Subsubid Date Originaldataindicator
a 1 x 2006 NaN
a 1 x 2007 NaN
a 1 x 2008 1
这些数据包括成千上万的身份证
我认为您需要^{} 和^{} ,然后使用^{} 的参数
keep=first
:或者使用
inplace
:如果列} (可能可以添加所有列} :
Originaldataindicator
有多个值,请使用^{IDnumber
、Subid
、Subsubid
、Date
)和^{说明条件:
考虑一下:
那么
按第一个
a
,然后b
对项目排序(从而最后推送每个组中的None
值),然后选择每个组的第一个项目。我相信你可以根据问题的具体情况来修改。
相关问题 更多 >
编程相关推荐