У меня есть два кадра данных, которые выглядят примерно так:
df1 =
val
id1 id2
foo 1 50
2 100
4 200
bar 1 25
4 100
8 200
baz 2 75
4 150
df2 =
val
id1 id2
foo 1 60
2 200
3 100
bar 1 50
4 101
8 202
baz 2 70
5 155
Я пытаюсь создать новый фрейм данных, который сравнивает оба индекса и вычитает столбец val
, только если оба индекса совпадают.
Как генерировать данные:
import pandas as pd
d1 = {'id1':['foo','foo', 'foo', 'bar', 'bar', 'bar','baz', 'baz'],
'id2':[1, 2, 4, 1, 4, 8, 2, 4],
'val':[50, 100, 200, 25, 100, 200, 75, 150]}
df1 = pd.DataFrame(data=d1)
df1.set_index(['id1', 'id2'], inplace=True)
import pandas as pd
d2 = {'id1':['foo','foo', 'foo', 'bar', 'bar', 'bar','baz', 'baz'],
'id2':[1, 2, 3, 1, 4, 8, 2, 5],
'val':[60, 200, 100, 50, 101, 202, 70, 155]}
df2 = pd.DataFrame(data=d2)
df2.set_index(['id1', 'id2'], inplace=True)
Я довольно новичок в python, и мультииндексы - это проклятие моей жизни прямо сейчас.