在重新排列周末后移动列,使其具有相同的数字,并遵循数字顺序

2024-04-20 04:49:08 发布

您现在位置:Python中文网/ 问答频道 /正文

日期为日期时间格式 周末需要有相同的数字,其余的按数字顺序向下移动。 df1型

   Date         Number
0. 12-10-2018   1
1. 13-10-2018   2 
2. 14-10-2018   3
3. 15-10-2018   4
4. 16-10-2018   5
5. 17-10-2018   6
6. 18-10-2018   7
7. 18-10-2018   8
8. 19-10-2018   9

我的代码:

   i = 1
   df1['Number'][0] == 1
   for i range(len(df1[0])):
       if df1[0[i].weekday()== 4:

           df1['Number'].iloc[i+1] = df1['Number'].iloc[i]
       elif df1[0][i].weekday() == 5:
           df1['Number'].iloc[i+1] = df1['Number'].iloc[i]

这将为我提供数字输出:

df1型

   Date         Number
0. 12-10-2018   1
1. 13-10-2018   1 
2. 14-10-2018   1
3. 15-10-2018   4
4. 16-10-2018   5
5. 17-10-2018   6
6. 18-10-2018   7
7. 19-10-2018   8
8. 20-10-2018   8

我需要输出:

df1型

   Date         Number
0. 12-10-2018   1
1. 13-10-2018   1 
2. 14-10-2018   1
3. 15-10-2018   2
4. 16-10-2018   3
5. 17-10-2018   4
6. 18-10-2018   5
7. 19-10-2018   6
8. 20-10-2018   6

非常感谢


Tags: 代码numberfordatelenif顺序格式
1条回答
网友
1楼 · 发布于 2024-04-20 04:49:08

我们可以通过factorize修复您的输出

df.Number=df.Number.factorize()[0]+1
df
           Date  Number
0.0  12-10-2018       1
1.0  13-10-2018       1
2.0  14-10-2018       1
3.0  15-10-2018       2
4.0  16-10-2018       3
5.0  17-10-2018       4
6.0  18-10-2018       5
7.0  19-10-2018       6
8.0  20-10-2018       6

相关问题 更多 >