简体   繁体   English

查找两个数据框之间的差异

[英]Finding the difference between two data frames

I have two data frames say df1, df2 each has two columns ['Name', 'Marks']我有两个数据框说 df1, df2 每个都有两列['Name', 'Marks']

I want to find the difference between the two ifs for corresponding Name Values.我想找到相应名称值的两个 if 之间的区别。

Eg:例如:

df = pd.DataFrame([["Shivi",70],["Alex",40]],columns=['Names', 'Value'])
df2 = pd.DataFrame([["Shivi",40],["Andrew",40]],columns=['Names', 'Value'])

For df1-df2 I want对于 df1-df2 我想要

pd.DataFrame([["Shivi",30],["Alex",40],["Andrew",40]],columns=['Names', 'Value'])

You can use:您可以使用:

diff = df1.set_index("Name").subtract(df2.set_index("Name"), fill_value=0)

So a complete program will look like this:所以一个完整的程序将如下所示:

import pandas as pd

data1 = {'Name': ["Ashley", "Tom"], 'Marks': [40, 50]}
data2 = {'Name': ["Ashley", "Stan"], 'Marks': [80, 90]}

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

diff = df1.set_index("Name").subtract(df2.set_index("Name"), fill_value=0)

print(diff)

Output:输出:

        Marks
Name
Ashley  -40.0
Stan    -90.0
Tom      50.0

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM