我需要将第一列中除第一列以外的所有列除以第一列.
这就是我正在做的事情,但我想知道这不是"正确"的熊猫方式:
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']
吗?(这只是给出10x12的数据帧nan
.)
此外,在阅读了一些关于SO的类似问题之后,我尝试了df['A'].div(df[['B', 'C']])
但是这会产生广播错误.
我相信df[['B','C']].div(df.A, axis=0)
并且df.iloc[:,1:].div(df.A, axis=0)
工作.