首页 > 解决方案 > 检查重复值并将信息拉入新数据框

问题描述

我有一个数据框(df_data),其中包含 14 列用于 1 个月以上的信息。我提取了一周的数据(df1)并列出了那里的所有帐号(accounts1

我要做的是获取accounts1列表并让它遍历列表中的每个值,检查它是否在df_data中被多次计算,如果是,则将该帐号保存到新列表中仅用于重复。

然后我想获取该重复列表并将 14 列从原始df_data中拉出,这样我就可以为该帐号的每次出现获得所有 14 列的所有行。



我被重复的帐号列表困住了,我使用了以下代码,这似乎可以创建一个包含结果的列表

cnt = collections.Counter(accounts1)
repeats.append([k for k, v in cnt.items() if v > 1])
print((repeats).count) 

但该列表中的元素数量正好在 3,000 以下。当我使用.unique并检查差异时,它应该是 5,000 多一点。我究竟做错了什么?然后如何使用这些元素从原始数据框中提取列?



基本上说我有

accounts1 = df1['accntnum'] = [0,1,2,5,8,2,5,0,0,7]

我希望它循环并从 df_data 中提取每个重复并返回它们的列表,例如

repeats = [0, 2, 5, 7] 
(There are numbers in the monthly df_data that are in weekly df1 but may not be repeated there yet)

然后我想使用该列表从 df_data['accntnum'] 中提取,想像

df_repeats = df_data[df_data['accntnum'] isin repeats]]



哦,我真的只对第一次出现重复感兴趣。有一个日期和时间列可以帮助最终解决这些问题。先感谢您!

标签: pythonpandas

解决方案


推荐阅读