我有下面的示例列的dataframe。
我在日期栏中有每日数据。我想根据日期添加一个具有特定值的列。
如果日期在29之前,那么它应该将12/29之前的值包含到新的日期范围列中,30之后意味着它应该包含在12/30之后,与其他列相同。
Date product result
12/27/2021 tv 6
12/27/2021 tv 38
12/27/2021 tv 2
12/28/2021 broadband 5
12/29/2021 tv 6
12/30/2021 broadband 7
12/30/2021 tv 10
12/31/2021 broadband 48
01/06/2022 broadband 48
Expected output
Date day_range product result
12/27/2021 before 12/29 tv 6
12/27/2021 before 12/29 tv 38
12/27/2021 before 12/29 tv 2
12/28/2021 before 12/29 broadband 5
12/29/2021 29-Dec tv 6
12/30/2021 30-Dec broadband 7
12/30/2021 30-Dec tv 10
12/31/2021 After 12/30 broadband 48
01/06/2022 After 12/30 broadband 4有什么方法可以达到这个目的吗?
发布于 2022-01-19 10:07:47
df['Date'] = pd.to_datetime(df['Date'])
df['day_range'] = np.select([df['Date'].lt('2021-12-29'),
df['Date'].gt('2021-12-30')],
['before 12/29','After 12/30'],
default=df['Date'].dt.strftime('%d-%b'))
print (df)
Date product result day_range
0 2021-12-27 tv 6 before 12/29
1 2021-12-27 tv 38 before 12/29
2 2021-12-27 tv 2 before 12/29
3 2021-12-28 broadband 5 before 12/29
4 2021-12-29 tv 6 29-Dec
5 2021-12-30 broadband 7 30-Dec
6 2021-12-30 tv 10 30-Dec
7 2021-12-31 broadband 48 After 12/30
8 2022-01-06 broadband 48 After 12/30https://stackoverflow.com/questions/70768534
复制相似问题