gpt4 book ai didi

python - 按列 axis=1 动态分组值

转载 作者:行者123 更新时间:2023-12-04 10:38:10 25 4
gpt4 key购买 nike

我有一个有 70 列的矩阵 df。

id  day_1 day_2 day_3 day_4 ... day_69 day_70
1 1 2 4 1 1 1
2 0 0 0 0 0 0
3 0 3 0 0 0 0
4 3 2 1 0 0 3

我想按 [2,7,10 等] 天数以动态方式聚合列。 IE。 【双日、每周、十日等】
  • 例如。 2 天聚合(总和)的结果之一将是具有 35 列的数据框,请参见下文:
  • id  bi_daily_1 bi_daily_2 ...bi_daily_35 
    1 3 5 2
    2 0 0 0
    3 3 0 0
    4 5 1 3

    在哪里 :
    bi_daily_1 = aggregation(day_1, day_2) bi_daily_2 = aggregation(day_3, day_4)等等...

    注意:真实矩阵形状约为 (2000, 1500)

    最佳答案

    使用基于天数的楼层划分来确定组(df.shape[1] 是数据框中的列数),然后使用 groupby在这些组上将轴指定为 1(列)。然后只需重命名列。

    days = 2
    result = df.groupby([x // days for x in range(df.shape[1])], axis=1).sum()
    result.columns = [f'bi_daily_{n + 1}' for n in result.columns]
    >>> result
    bi_daily_1 bi_daily_2
    id
    1 3 5
    2 0 0
    3 3 0
    4 5 1

    关于python - 按列 axis=1 动态分组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60067487/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com