我有一个数据框( df_data ),其中包含14列,用于1个月以上的信息。我提取了一个星期的数据( df1 ),并列出了那里的所有帐号( accounts1 )
我想做的就是获取 accounts1 列表,并遍历列表中的每个值,检查在 df_data 中是否多次计数了该值,然后如果是这样,则将该帐号保存到新列表中,仅重复一次。
然后我要使用该重复列表,并从原始的 df_data 中拉出14列,这样对于该帐号的每次出现我都可以拥有所有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]]
哦,我真的只对第一次出现重复感兴趣。但是,有一个日期和时间列可以帮助最终进行排序。预先谢谢你!