python – 将某些列除以pandas中的另一列
发布时间:2020-12-20 12:13:16 所属栏目:Python 来源:网络整理
导读:想知道是否有更有效的方法将多列分成某一列.比如说我有: prev open close volume20.77 20.87 19.87 96281619.87 19.89 19.56 66807619.56 19.96 20.1 57898720.1 20.4 20.53 418597 我想得到: prev open close volume20.77 1.0048 0.9567 96281619.87 1.00
想知道是否有更有效的方法将多列分成某一列.比如说我有:
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 基本上,列’打开’和’关闭’除以“prev”列的值. 我能够做到这一点 df['open'] = list(map(lambda x,y: x/y,df['open'],df['prev'])) df['close'] = list(map(lambda x,df['close'],df['prev'])) 我想知道是否有更简单的方法?特别是如果有10列要被相同的值划分呢? 解决方法df2[['open','close']] = df2[['open','close']].div(df2['prev'].values,axis=0) 输出: 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |