我有两个数据帧,例如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'])
答案 0 :(得分:2)
您可以使用:
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