繁体   English   中英

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

[英]Finding the difference between two data frames

我有两个数据框说 df1, df2 每个都有两列['Name', 'Marks']

我想找到相应名称值的两个 if 之间的区别。

例如:

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

对于 df1-df2 我想要

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

您可以使用:

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

所以一个完整的程序将如下所示:

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)

输出:

        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