python_根据年份生成对应的项

python_根据年份生成对应的项

import pandas as pd
from datetime import datetime

# 假设df是你的数据框
df = pd.DataFrame({
    'A': ['2025年', '2024年', '2023年', '2022年', '2021年', '2020年', '2019年', '2018年', '2017年'],
    'B': [None] * 9
})

# 获取当前日期
now = datetime.now()

# 将'A'列的日期转换为datetime格式
df['A'] = pd.to_datetime(df['A'], format='%Y年')

# 遍历每一行
for i in range(len(df)):
    # 计算当前行的日期与当前日期之间的年份差
    year_diff = now.year - df.loc[i, 'A'].year
    
    # 根据年份差设置'B'列的值
    if year_diff <= 2:
        df.loc[i, 'B'] = '1Y'
    elif year_diff <= 4:
        df.loc[i, 'B'] = '3Y'
    elif year_diff == 5:
        df.loc[i, 'B'] = '5Y'
    else:
        df.loc[i, 'B'] = 'MAX'

df['A'] = df['A'].dt.year
# 将A列转换为字符串并设置为索引
df['A'] = df['A'].astype(str)
df.set_index('A', inplace=True)
# 将DataFrame转换为字典
dictionary = df['B'].to_dict()

print(dictionary)

结果:
在这里插入图片描述
如果只有一个日期的话,例如"2017/01/01",返回对应的年份期间,例如返回:MAX

from datetime import datetime

text1="2017/01/01"
年份期间=""

# 获取当前日期
now = datetime.now()
# 将文本日期转换为datetime对象
date1 = datetime.strptime(text1, "%Y/%m/%d")
# 计算年份差
year_diff = now.year - date1.year

if year_diff <= 2:
    年份期间="1Y"
elif year_diff <= 4:
    年份期间="3Y"
elif year_diff == 5:
    年份期间="5Y"
else:
    年份期间="MAX"

print(年份期间)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值