熊猫:计算两个数据框之间的总百分比差异

时间:2019-01-03 20:59:56

标签: python pandas dataframe indexing

我有两个数据框。我想找出总百分比差异 例如:

  

DataFrame1

     

A
1
2
3
4

     

DataFrame2

B
1
3
3
4

总百分比相同= 75%

3 个答案:

答案 0 :(得分:4)

尝试:

df1.eq(df2.values).mean()

输出:

A    0.75
dtype: float64

答案 1 :(得分:1)

在您的示例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

是向量的长度。因此,在您的示例中,

答案 2 :(得分:1)

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中键入它。