如何为Pandas DataFrame按日期区间添加class分类列?
实现方案
完全可以实现该需求,以下是具体步骤和代码:
步骤说明
- 转换日期格式:将
date列的字符串类型转为Pandas的datetime类型,方便提取日期信息 - 生成分类列:从转换后的日期中提取日数值,根据区间规则生成
class列(1代表1-15日,2代表16日至月末)
完整代码
import pandas as pd # 原DataFrame df = pd.DataFrame({'model':['A','B','C','D', 'E','F','G','I','J','K'], 'date':['2022-10-28 12:10:28 AM','2022-12-07 12:12:07 AM','2022-12-07 12:12:07 AM','2022-12-07 12:12:07 AM', '2022-12-08 12:12:08 AM','2022-12-10 12:12:10 AM','2023-02-22 12:02:22 AM','2023-02-22 12:02:22 AM', '2023-02-24 12:02:24 AM','2023-03-04 12:03:04 AM']}) # 转换日期列格式 df['date'] = pd.to_datetime(df['date']) # 根据日数值生成class列 df['class'] = df['date'].dt.day.apply(lambda x: 1 if x <=15 else 2) # 查看结果 print(df)
运行结果
model date class 0 A 2022-10-28 00:10:28 2 1 B 2022-12-07 00:12:07 1 2 C 2022-12-07 00:12:07 1 3 D 2022-12-07 00:12:07 1 4 E 2022-12-08 00:12:08 1 5 F 2022-12-10 00:12:10 1 6 G 2023-02-22 00:02:22 2 7 I 2023-02-22 00:02:22 2 8 J 2023-02-24 00:02:24 2 9 K 2023-03-04 00:03:04 1
内容的提问来源于stack exchange,提问作者ghost_like
相关产品推荐
相关产品推荐

