我有一个包含列['toaddress','ccaddress','body']的数据框(df)

我想遍历数据帧的索引以获取toaddress和ccaddress字段中的电子邮件地址的最小,最大和平均数量,该数量通过计算这两列中每个字段内的实例和'@'确定

如果所有其他方法都失败了,我想我可以使用df.toaddress.str.contains(r'​​@')。sum()并将其除以数据帧中的行数即可得出平均值,但我认为这仅仅是计算至少具有1 @符号的行。

最佳答案

您可以使用

df[['toaddress', 'ccaddress']].applymap(lambda x: str.count(x, '@'))


获取每个单元格中'@'的计数。

然后,您可以沿结果的行轴计算熊猫maxminmean

当我评论原始问题时,您已经建议使用df.toaddress.str.contains(r'@').sum() -如果您愿意逐列而不是上面显示的方法,为什么不使用df.toaddress.str.count(r'@')

09-07 02:55