如何使用 pandas 在 6 行之后制作数据间隔

How to make intervals of data after 6 rows using pandas

你好我有一个场景,我必须在每 6 行后维护一个数字。

例如这是我的数据框

client_id   patient_id  Total Clinic   Clinic Number  
    172         6021        1            Clinic 1
    172         6021        1            Clinic 1
    172         6021        1            Clinic 1
    172         6021        1            Clinic 1
    172         6021        1            Clinic 1
    172         6021        1            Clinic 1
    172         6137        1            Clinic 1
    172         6137        1            Clinic 1
    172         6137        1            Clinic 1
    172         6137        1            Clinic 1
    172         6137        1            Clinic 1
    172         6137        1            Clinic 1
    187         5658        5            Clinic 1
    187         5658        5            Clinic 1
    187         5658        5            Clinic 1
    187         5658        5            Clinic 1
    187         5658        5            Clinic 1
    187         5658        5            Clinic 1
    187         5658        5            Clinic 2
    187         5658        5            Clinic 2
    187         5658        5            Clinic 2
    187         5658        5            Clinic 2
    187         5658        5            Clinic 2
    187         5658        5            Clinic 2

我想实现以下结果,以便在每六行之后更新索引计数

client_id  patient_id  Total Clinic  Clinic Number  Index_Number            
    172        6021        1            Clinic 1            1
    172        6021        1            Clinic 1            1
    172        6021        1            Clinic 1            1
    172        6021        1            Clinic 1            1
    172        6021        1            Clinic 1            1
    172        6021        1            Clinic 1            1
    172        6137        1            Clinic 1            2
    172        6137        1            Clinic 1            2
    172        6137        1            Clinic 1            2
    172        6137        1            Clinic 1            2
    172        6137        1            Clinic 1            2
    172        6137        1            Clinic 1            2
    187        5658        5            Clinic 1            3
    187        5658        5            Clinic 1            3
    187        5658        5            Clinic 1            3
    187        5658        5            Clinic 1            3
    187        5658        5            Clinic 1            3
    187        5658        5            Clinic 1            3
    187        5658        5            Clinic 2            4
    187        5658        5            Clinic 2            4
    187        5658        5            Clinic 2            4
    187        5658        5            Clinic 2            4
    187        5658        5            Clinic 2            4
    187        5658        5            Clinic 2            4

需要帮助谢谢。

这有点老套,但确实有效。也许有更直接的方法。

df['Index_Number'] = np.repeat(np.arange(df.shape[0]/6), 6)[:df.shape[0]]+1

创建一列;计算累积和并减去 1(从零开始);并计算 floordiv(即整数除法)

    df['Index'] = 1
    df['Index'] = df['Index'].cumsum() - 1
    df['Index'] = df['Index'].floordiv(6)