我有一个包含许多列的数据框,需要将它们除以一列以计算比例。有人可以为此提供for循环吗?在下面的给定数据示例中,我要添加列c1p = c1/ct, c2p=c2/ct, c3p=c3/ct, c4p=c4/ct
。
id c1 c2 c3 c4 ct
1 6 8 8 12 34
2 5 3 11 6 25
3 3 9 6 12 30
4 14 10 10 3 37
答案 0 :(得分:0)
DataFrames的强大之处在于您可以逐列进行操作。像这样:
for i in range(1, 5):
df[f'c{i}p'] = df[f'[c{i}'] / df['ct']
答案 1 :(得分:0)
这里是一种矢量化方法,用于获取另一个包含您需要的所有单位值的数据帧df_p
:
df_p = df.filter(regex='c[0-9]').divide(df['ct'], axis=0)