逐列迭代加上后缀(pandas)

时间:2016-10-05 15:02:23

标签: python-2.7 pandas

for 循环中,我希望将列除以另一列。第二列的名称取决于第一列。示例数据框列如下所示:

ggplot(your_data, aes(x = time_of_event, y = value, colour = treatment)) +
  geom_point()

我想按照相应的平均列 column1 / column1_mean ; column2 / column2_mean )对每列进行迭代划分。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

对于列名cols = ['column1', 'column2', ... ]的给定列表,您可以使用.div()将列列表除以另一列列,并使用字符串格式设置基于列的第二列列第一:

df[cols].div(df[['{0}_mean'.format(col) for col in cols]])

但更简单的方法是完全放弃制作平均列:

df[cols].div(df[cols].mean())