簡體   English   中英

在計算所有 n 行的總和時連接每 n 行的列

[英]Concatenate column of every n-th row while calculating sum of all n rows

我有一個非常具體的方法,我想轉換一個 pandas dataframe。 它目前看起來像這樣:

    CREATED_DATE    COUNT
0   2018-10-01      27
1   2018-10-02      27
2   2018-10-03      34
3   2018-10-04      23
4   2018-10-05      23
        ...

我想要的是將我的數據組合成 7 天的塊,這意味着我想連接第一個和第七個的 CREATED_DATE 值,同時總結所有七個 COUNT 值。 像這樣的東西:

        CREATED_DATE                COUNT
    0   2018-10-01 to 2018-10-07    163
    1   2018-10-08 to 2018-10-14    183
    2   2018-10-15 to 2018-10-21    301
    3   2018-10-22 to 2018-10-28    142
    4   2018-10-29 to 2018-11-05    95
                  ...

我嘗試了幾種使用變換的方法,但不知何故從未得到我想要的結果。

您可以使用groupby().agg()

(df.groupby(np.arange(len(df))//7)
   .agg({'CREATED_DATE': lambda x: x.min() + ' to ' + x.max(),
         'COUNT': 'sum'})
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM