You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pandas DataFrame中将各分组数值指标的起始基准值设为100

解决方案

核心逻辑是按车辆分组后,取每组的首个时间点数值为基准,将所有数值换算为基准值的百分比即可实现起始值对齐为100。

import pandas as pd

# 构造示例原始数据
raw_data = {'Car':['A', 'B', 'A', 'B'],
            'Hour':['1', '1', '2', '2'],
            'Car-speed':[10, 20, 11, 19]}
df = pd.DataFrame(raw_data)

# 按车辆分组做标准化处理,确保每辆车的首个时间点数值为100
df['Car51-speed'] = df.groupby('Car')['Car-speed'].transform(lambda x: (x / x.iloc[0]) * 100)

# 可选:删除原始速度列,得到最终结果
df = df.drop(columns='Car-speed')

运行后输出print(df)得到结果:

Car Hour  Car51-speed
0   A    1        100.0
1   B    1        100.0
2   A    2        110.0
3   B    2         95.0

注意事项

  • 运行前请确保你的数据已经按Hour列升序排序,保证每个车辆分组的第一行是起始时间点的记录
  • 该方案支持任意数量的车辆和时间戳,无需额外调整逻辑

内容的提问来源于stack exchange,提问作者Charles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 07:36:02