我有一些特定期间范围内的数据(期间0、1、2 ......),我希望创建期间内的值,这些值将获得值的差值,并除以将要设置的期间总数;
例如:
import pandas as pd
data = [{'metric': '3f00d0b5', 'time':52.66, 'time_order': 0, 'variable': 'var1', 'value': 0.035},
{'metric': '3f00d0b5', 'time':422.4, 'time_order': 1, 'variable': 'var1', 'value': 0.512},
{'metric': '3f00d0b5', 'time':620.1, 'time_order': 2, 'variable': 'var1', 'value': 0.0},
{'metric': '3f00d0b5', 'time':52.66, 'time_order': 0, 'variable': 'var2', 'value': 0.007},
{'metric': '3f00d0b5', 'time':422.4, 'time_order': 1, 'variable': 'var2', 'value': 0.012},
{'metric': '3f00d0b5', 'time':620.1, 'time_order': 2, 'variable': 'var2', 'value': 0.214},
{'metric': '83e7fdd1', 'time':25.42, 'time_order': 0, 'variable': 'var1', 'value': 0.0},
{'metric': '83e7fdd1', 'time':322.45, 'time_order': 1, 'variable': 'var1', 'value': 0.241},
{'metric': '83e7fdd1', 'time':678.12, 'time_order': 2, 'variable': 'var1', 'value': 0.005},
{'metric': '83e7fdd1', 'time':25.42, 'time_order': 0, 'variable': 'var2', 'value': 0.02},
{'metric': '83e7fdd1', 'time':322.45, 'time_order': 1, 'variable': 'var2', 'value': 0.007},
{'metric': '83e7fdd1', 'time':678.12, 'time_order': 2, 'variable': 'var2', 'value': 0.0}
]
df = pd.DataFrame.from_dict(data)
根据以上数据,我需要的最终结果是:
{'metric': '3f00d0b5', 'time':52.66, 'time_order': 0, 'variable': 'var1', 'value': 0.035},
{'metric': '3f00d0b5', 'time':52.66, 'time_order': 0.1, 'variable': 'var1', 'value': 0.083},
...
{'metric': '3f00d0b5', 'time':52.66, 'time_order': 0.9, 'variable': 'var1', 'value': 0.4643},
{'metric': '3f00d0b5', 'time':422.4, 'time_order': 1, 'variable': 'var1', 'value': 0.512},
有没有一个直接的方法来实现这个在一个Python的方式?
先谢谢你莱昂纳多
1条答案
按热度按时间anauzrmj1#
您可以使用
groupby
和一个自定义函数来增加数据:输出: