如何正确计算百分比

时间:2019-09-06 10:49:46

标签: python pandas

我有三个具有“城市”列的数据框。这三个数据框都有一组不同的城市名称。

我想找到每个数据框此列之间匹配总数的百分比。

为此,我使用了set方法并获得了三个数组

set1 = set(df1['City'])
set2 = set(df2['City'])
set3 = set(df3['City'])

但是我应该如何找到百分比? 我使用了这些功能,但是我不确定我是否做得正确

(len(set1) - len(set2))/len(set1)*100
(len(set1) - len(set3))/len(set1)*100
(len(set2) - len(set3))/len(set2)*100

此记录正确吗?

2 个答案:

答案 0 :(得分:1)

您可能想要这样:

percentage = ( len(set1.intersection(set2)) / len(set1.union(set2)) )*100

为您提供set1set2中常见元素的百分比。

这也称为Jaccard Index,是对集合相似度的度量。

答案 1 :(得分:0)

从纯粹的数学角度来看: 我假设您要查找分别位于set1和set2,set1和set3和set2和set3之间的城市匹配百分比。

要计算此百分比,您需要找到匹配的数量和所比较的城市集的长度。

然后可以按如下方式计算百分比:

匹配百分比1和2 = [(1和2之间的匹配数)/(集合的长度)] * 100

在代码方面:我同意Sparkofska。