我是编程新手。
我想在现有的法国假期 df 中创建 4 列:
- 倒计时到下一个假期的第一天
- 与倒计时相关的下一个假期名称
- 从过去最早假期的最后一天算起的天数
- 与计数相关的过去假期名称
现有的 df 包括:
- 日期(对象)
- vacances_zone_a ; (bool) True 或 False 如果在 A 区(法国分为 3 个假期区)在这个日期这是假期
- vacances_zone_b ; (bool) True or False if in zone B (France is分为3个区域的假期) 在这个日期这是假期
- vacances_zone_c ; (bool) True or False if in zone C (France is分为3个区域的假期) 在这个日期这是假期
- nom_vacances ; (对象)假期的名称如果为真,如果为假则为空
我的目标是为每个区域添加这 4 列,以计算下一个假期有多远(以几天为单位)以及该区域过去的假期有多远(以几天为单位)。
我已经提取了 vacances_zone_xx 为 True 的每个区域的日期列表。
date_list_a = df.date[(df['vacances_zone_a'] == True)]
为每个区域复制的示例:我需要创建一个列“倒计时区域 a”,它将在列表中找到下一个最接近的日期。在“下一个假期名称”列中,与倒计时相关的假期名称。在“Countup zone a”列中,将找到列表中最早的过去最近日期。在“过去假期的名称”列中,与倒计时相关的假期名称。
我认为为每个区域创建一个列表将是获取所需信息的最简单方法,但我愿意接受解决问题的最简单方法。
我厌倦了这个,但没有工作......
df['Countdown_zone_a'] = date_list_a.index[date_list_a.index.get_loc(df, method='nearest')]
TypeError:'int'和'tuple'的实例之间不支持'<'
预先感谢您的帮助!