我的数据框是这样的:
userid codeassigned timestamp
15 553938 M1 1499371200000
15390 527638 M2 1599731200000
15389 521638 M2 1399901200000
15388 521638 M3 1439841200000
15387 553938 M4 1499521200000
我通过执行以下操作获取了该数据帧的子集(具有最新时间戳的用户):
df = df.sort_values('timestamp', ascending=False)
mask = df.duplicated('userid')
subset_df = df[~mask]
现在,我想要主数据帧中的所有行(用户ID,时间戳)都在subset_df中(可以有多行具有相同的[用户ID,时间戳]但分配了不同的代码);我正在做的事情:
subset_df[['userid', 'timestamp']].isin(df)
但是,我收到此错误:
ValueError: cannot compute isin with a duplicate axis.
知道我做错了什么吗?
你需要merge对于带有过滤子集的内连接:
subset_df = df.loc[~mask, ['userid', 'timestamp']]
df = subset_df.merge(df)
Or:
df = subset_df[['userid', 'timestamp']].merge(df)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)