【发布时间】:2023-02-01 01:17:45
【问题描述】:
目前正在努力实施一些模糊匹配逻辑以将具有相似模式的电子邮件分组在一起,我需要提高部分代码的效率但不确定前进的最佳路径是什么。我使用一个包来输出一个 pandas 数据框,如下所示:
我编辑了数据,但它只有四列,其中包含 ID #、与给定 ID 关联的电子邮件、标识给定电子邮件所属集群的组 ID 号,然后是数学上最核心的电子邮件 group rep给定的集群。
我想要做的是计算 group rep 列中每个不同元素的出现次数,并创建一个新的数据框,它只有两列,其中一列具有 group rep 电子邮件,然后第二列具有相应的计数原始数据框中的组代表。它应该看起来像这样:
截至目前,我正在将我的组代表转换为一个列表,然后使用 for 循环创建一个元组列表(我认为?),每个元组包含一个质心电子邮件组标识符和该标识符出现的次数原始 df(又名原始数据中属于该质心电子邮件组的电子邮件数量)。代码如下所示:
groups = list(df['group rep'].unique())
# preparing list of tuples with group count
req_groups = []
for g in groups:
count = (g, df['group rep'].value_counts()[g])
#print(count)
req_groups.append(count)
print(req_groups)
不幸的是,这个操作花费的时间太长了。我确信有更好的解决方案,但绝对可以使用一些帮助找到前进的道路。在此先感谢您的帮助!
【问题讨论】:
标签: python pandas dataframe numpy count