我有一个数据框df
为:
node date_ A1 A2
bkt B1 B2 B1 B2
0 1/1/2015 0.9 1 2 1
1 1/2/2015 0.7 0.6 5 6
2 1/3/2015 0.9 1 9 23
df.columns
MultiIndex([( 'date_', ''),
( 'A1', 'B1'),
( 'A1', 'B2'),
( 'A2', 'B1'),
( 'A2', 'B2'),
( 'Month', '')],
names=['node', 'bkt'])
我还有一个数据框df2
,是:
bkt B1 B2
0 1/1/2015 2 1
1 1/2/2015 2 2
2 1/3/2015 3 1
是否可以将df
与df1
相乘,以便将对应的列B1和B2相乘以得出以下结果:
node date_ A1 A2
bkt B1 B2 B1 B2
0 1/1/2015 1.8 1 4 1
1 1/2/2015 1.4 1.2 10 12
2 1/3/2015 2.7 1 27 23
答案 0 :(得分:3)
是的,您可以:
df_out = df.copy()
df_out.loc[:,['A1','A2']] = df.mul(df2, level=1, axis='columns')
输出:
node date_ A1 A2
bkt B1 B2 B1 B2
0
0 1/1/2015 1.8 1.0 4 1
1 1/2/2015 1.4 1.2 10 12
2 1/3/2015 2.7 1.0 27 23