向PandasDataFrame中的每N行添加一个值范围的元素

bvjveswy  于 2023-01-01  发布在  其他
关注(0)|答案(2)|浏览(135)

我有以下有序且连续的 Dataframe :

Hour  value
0      1     41
1      2      5
2      3      7
3      4    107
4      5     56
5      6     64
6      7     46
7      8     50
8      9     95
9     10     81
10    11      8
11    12     94

我想向每N行(本例中为4行)添加一个值范围,例如:

Hour  value  val
0      1     41    1
1      2      5    1
2      3      7    1
3      4    107    1
4      5     56    2
5      6     64    2
6      7     46    2
7      8     50    2
8      9     95    3
9     10     81    3
10    11      8    3
11    12     94    3
nszi6y05

nszi6y051#

使用numpy.arange

import numpy as np
df['val'] = np.arange(len(df))//4+1

输出:

Hour  value  val
0      1     41    1
1      2      5    1
2      3      7    1
3      4    107    1
4      5     56    2
5      6     64    2
6      7     46    2
7      8     50    2
8      9     95    3
9     10     81    3
10    11      8    3
11    12     94    3
lf5gs5x2

lf5gs5x22#

IIUC,您可以根据索引创建val列,如下所示:

df['val'] = 1 + df.index//4

print(df)
    • 产出**
Hour    value  val
0   1      41      1
1   2      5       1
2   3      7       1
3   4      107     1
4   5      56      2
5   6      64      2
6   7      46      2
7   8      50      2
8   9      95      3
9   10     81      3
10  11     8       3
11  12     94      3

相关问题