Python 查找两个数据帧之间的差异
我有两个数据帧,比如说df1,df2,每个都有两列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) 因此,
['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