我需要将 DataFrame 中除第一列之外的所有列除以第一列。
这就是我正在做的事情,但我想知道这是否不是“正确”的 Pandas 方式:
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)
工作。
关于python - 将多列除以 Pandas 中的另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34540567/