[英]How to calculate percentage difference between two data frames with Pandas?
[英]Pandas: Calculate total percent difference between two data frames
我有两个数据框。 我想找出总百分比差异例如:
数据框1
一种
1个
2
3
4数据框2
乙
1个
3
3
4
总百分比相同= 75%
尝试:
df1.eq(df2.values).mean()
输出:
A 0.75
dtype: float64
在您的示例DataFrame1和2中,此处为df1,df2:
import pandas as pd
df1=pd.DataFrame([1,2,3,4], columns=['A'])
df2=pd.DataFrame([1,3,3,4], columns=['B'])
print('%.f %%' % (100 * (df1.values == df2.values).sum() / df1.size))
它打印75%
解释是这样的:
(df1.values == df2.values).sum()
是向量中相等值的数量。 所以在你的例子中是3
和
df1.size
是向量的长度。 因此,在您的示例中为4
dataframe1 = open("dataframe1.txt")
dataframe2 = open("dataframe2.txt")
data1 = []
data2 = []
counter=0
for i in dataframe1:
data1.append(i)
for i in dataframe2:
data2.append(i)
for i in range(len(data1)):
if data1[i] == data2[i]:
counter += 1
print("Total percentage the same = ",round((counter/len(data1))*100),"%")
您将需要将数据放入一个命名为txt的文件中,或者根据需要对其进行处理。 您也可以根据需要在data1和data2中键入它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.