Нахождение разницы между двумя фреймами данных - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть два фрейма данных, скажем, 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'])

1 Ответ

2 голосов
/ 01 апреля 2020

Вы можете использовать:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...