假设我有以下数据框df1
:
a b c d
10 15 20 25
8 18 28 38
20 25 30 35
为了简单起见,假设我有一个数据集df2
:
y
1
2
3
我想按行减去以下值df2
从值df1
因此,我的最终数据集df3
= df1
- df2
将会:
a b c d
9 14 19 24
6 16 26 36
17 22 27 32
Use sub
and axis=0
对于矢量化解决方案
df.sub(df2.values, axis=0)
a b c d
0 9 14 19 24
1 6 16 26 36
2 17 22 27 32
Timings
对于少量列:
%timeit (df.sub(df2.values, axis=0))
784 µs ± 15.1 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
%timeit df.apply(lambda x: x - df2['y'])
2.22 ms ± 70.4 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)