【问题标题】:Create a column in pandas which increments by 1 for every 10 rows在 pandas 中创建一列,每 10 行递增 1
【发布时间】:2022-09-26 15:19:41
【问题描述】:
import pandas as pd
import numpy as np

rng = np.random.default_rng()
df = pd.DataFrame(rng.integers(0, 100, size=(100, 4)), columns=list(\'ABCD\'))

这是我的数据框。我想创建一个从 1 开始并每 10 行增加 1 的新列。因此,该列的前十行的值为 1,第 11-20 行的值为 2,第 21-30 行的值为 3……等等。

    标签: python pandas numpy


    【解决方案1】:

    您可以使用numpy's arange 按您的步数划分楼层并添加开始:

    start = 1
    step = 10
    df['new'] = np.arange(len(df))//step+start
    

    输出:

         A   B   C   D  new
    0    6  80  51  21    1
    1   74  52  18  24    1
    2   14  25  19  89    1
    3   21  89   2  69    1
    4   46  32  77  98    1
    ..  ..  ..  ..  ..  ...
    95  62  87  89  65   10
    96  88  70  44  68   10
    97  71  14   2  10   10
    98  45  62  89  65   10
    99  62  40  45  93   10
    
    [100 rows x 5 columns]
    

    【讨论】:

    • 有趣的一个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 2018-12-22
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多