将 pandas 中的某些列除以另一列

2024-02-11

想知道是否有更有效的方法将多个列划分为某个列。例如说我有:

prev    open    close   volume
20.77   20.87   19.87   962816
19.87   19.89   19.56   668076
19.56   19.96   20.1    578987
20.1    20.4    20.53   418597

我想得到:

prev    open    close   volume
20.77   1.0048  0.9567  962816
19.87   1.0010  0.9844  668076
19.56   1.0204  1.0276  578987
20.1    1.0149  1.0214  418597

基本上,“open”列和“close”列已除以“prev”列中的值。

我能够做到这一点

df['open'] = list(map(lambda x,y: x/y, df['open'],df['prev']))
df['close'] = list(map(lambda x,y: x/y, df['close'],df['prev']))

我想知道是否有更简单的方法?特别是如果有 10 列要除以相同的值?


df2[['open','close']] = df2[['open','close']].div(df2['prev'].values,axis=0)

Output:

    prev      open     close  volume
0  20.77  1.004815  0.956668  962816
1  19.87  1.001007  0.984399  668076
2  19.56  1.020450  1.027607  578987
3  20.10  1.014925  1.021393  418597
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 pandas 中的某些列除以另一列 的相关文章

随机推荐