[英]How to calculate percentage properly
我有三個具有“城市”列的數據框。 所有這三個數據框都有一組不同的城市名稱。
我想找到每個數據框的此列之間的總匹配百分比。
為此,我使用了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
這個記錄對嗎?
您可能想要這樣:
percentage = ( len(set1.intersection(set2)) / len(set1.union(set2)) )*100
它為您提供set1
和set2
中公共元素的百分比。
這也稱為Jaccard Index ,這是一組相似度的度量。
從純粹的數學角度來看:我假設您要查找分別在set1和set2,set1和set3與set2和set3之間匹配的城市的百分比。
要計算此百分比,您需要找到匹配數和所比較的城市集的長度。
然后可以按如下方式計算百分比:
匹配百分比1和2 = [(1和2之間的匹配數)/(集合的長度)] * 100
對於代碼方面:我同意Sparkofska。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.