我有两个数据框,如下所示:
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 很陌生,多索引现在是我生活的祸根。
慕工程0101907
相关分类