将多列除以 pandas 中的另一列 [英] Divide multiple columns by another column in pandas

查看:54
本文介绍了将多列除以 pandas 中的另一列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要将 DataFrame 中除第一列以外的所有列除以第一列.

I need to divide all but the first columns in a DataFrame by the first column.

这是我正在做的事情,但我想知道这是否不是正确"的熊猫方式:

Here's what I'm doing, but I wonder if this isn't the "right" pandas way:

df = pd.DataFrame(np.random.rand(10,3), columns=list('ABC'))

df[['B', 'C']] = (df.T.iloc[1:] / df.T.iloc[0]).T

有没有办法做类似 df[['B','C']]/df['A'] 的事情?(这只是给出了 nan 的 10x12 数据帧.)

Is there a way to do something like df[['B','C']] / df['A']? (That just gives a 10x12 dataframe of nan.)

此外,在阅读了一些关于 SO 的类似问题后,我尝试了 df['A'].div(df[['B', 'C']]) 但这给出了广播错误.

Also, after reading some similar questions on SO, I tried df['A'].div(df[['B', 'C']]) but that gives a broadcast error.

推荐答案

我相信 df[['B','C']].div(df.A, axis=0)df.iloc[:,1:].div(df.A,axis=0) 工作.

这篇关于将多列除以 pandas 中的另一列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆