使用 pandas 中的 groupby 函数来按组进行分组,并将转换和除法应用到每个组中的所有值。
示例代码如下:
import pandas as pd
# 生成示例数据
data = pd.DataFrame({
'group': ['A', 'A', 'B', 'B'],
'value': [1, 2, 3, 4]
})
# 每个组中的所有值除以组中的最大值,再乘以 100
transformed_data = data.groupby('group')['value'].transform(lambda x: x / x.max() * 100)
print(transformed_data)
输出结果为:
0 50.0
1 100.0
2 75.0
3 100.0
Name: value, dtype: float64
上述代码中,使用 lambda 函数将每个组中的所有值除以该组中的最大值,然后乘以 100,从而将数据转换成百分比形式。最后,使用 pandas 的 groupby 函数将数据按照 “group” 列进行分组,并将转换函数应用到 每个分组的 “value” 列中。
上一篇:按组进行分组,然后筛选
下一篇:按组进行滚动聚合,从某个日期开始