Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 查找两个数据帧之间的差异_Python_Pandas_Numpy_Dataframe - Fatal编程技术网

Python 查找两个数据帧之间的差异

Python 查找两个数据帧之间的差异,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,我有两个数据帧,比如说df1,df2,每个都有两列['Name','Marks'] 我想找出对应名称值的两个ifs之间的差异 例如: 对于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) 因此,

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

我想找出对应名称值的两个ifs之间的差异

例如:

对于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

为什么是Stan-90?如图所示,它们是嵌套列表,而不是数据帧。我不知道如何在降价中生成df,想象一下df1和df2是两个具有这些值的ifs,您可以使用
df.to_dict()
数据在您的问题中发布
df1=pd.DataFrame([[Ashley',40],'Tom',50]])
        Marks
Name
Ashley  -40.0
Stan    -90.0
Tom      50.0