首页 > 解决方案 > 按数据删除列

问题描述

此帖已删除。谢谢你

你好世界!

标签: python

解决方案


你想要transform('mean')

df['mean'] = (df.groupby(['id',       # remove if you don't want groupby ID
                  df.devicetimestamp.dt.normalize()]) # normalize gives you the date
                  ['value'].transform('mean')
             )

df['value3'] = df['value2']/df['mean']

输出:

       devicetimestamp       id  value  value2  mean    value3
0  2019-09-22 00:00:00  device1     10    3000   495  6.060606
1  2019-09-22 04:00:00  device1     40    2000   495  4.040404
2  2019-09-22 05:00:00  device1     45    1000   495  2.020202
3  2019-09-22 06:00:00  device1    450    1500   495  3.030303
4  2019-09-22 07:00:00  device1    500    2000   495  4.040404
5  2019-09-22 08:00:00  device1    550    3000   495  6.060606
6  2019-09-22 15:00:00  device1    600    4000   495  8.080808
7  2019-09-22 16:00:00  device1    650    3000   495  6.060606
8  2019-09-22 17:00:00  device1    700    2000   495  4.040404
9  2019-09-22 21:00:00  device1    900    1000   495  2.020202
10 2019-09-22 22:00:00  device1   1000    1500   495  3.030303
11 2019-09-23 05:00:00  device1   1100    2000  1150  1.739130
12 2019-09-23 04:00:00  device1   1200    3000  1150  2.608696
13 2019-09-24 05:00:00  device1   1100    2000  1150  1.739130
14 2019-09-24 04:00:00  device1   1200    3000  1150  2.608696

推荐阅读