我需要将第一列中除第一列以外的所有列除以第一列.
这就是我正在做的事情,但我想知道这不是"正确"的熊猫方式:
df = pd.DataFrame(np.random.rand(10,3), columns=list('ABC'))
df[['B', 'C']] = (df.T.iloc[1:] / df.T.iloc[0]).T
Run Code Online (Sandbox Code Playgroud)
有办法做某事df[['B','C']] / df['A']吗?(这只是给出10x12的数据帧nan.)
此外,在阅读了一些关于SO的类似问题之后,我尝试了df['A'].div(df[['B', 'C']])但是这会产生广播错误.
Dth*_*hal 46
我相信df[['B','C']].div(df.A, axis=0)并且df.iloc[:,1:].div(df.A, axis=0)工作.
小智 10
do: df.iloc[:,1:] = df.iloc[:,1:].div(df.A, axis=0)
Run Code Online (Sandbox Code Playgroud)
这将除第一列以外的所有列,并将“A”列用作除数。
结果是1st column + all columns after / 'divisor column'.
| 归档时间: |
|
| 查看次数: |
33435 次 |
| 最近记录: |