假设我们有一个名为df的数据框,其中包含一个名为"Year"的列和一个名为"Month"的列,表示年份和月份。我们可以使用pandas库来比较年份和月份,并提取当前月份减一。下面是一个示例代码:
import pandas as pd
from datetime import datetime
# 创建一个示例数据框
data = {'Year': [2020, 2021, 2022],
'Month': [9, 10, 11]}
df = pd.DataFrame(data)
# 获取当前年份和月份
current_year = datetime.now().year
current_month = datetime.now().month
# 比较年份和月份,并提取当前月份减一
df['Month_minus_one'] = df.apply(lambda row: row['Month'] - 1 if row['Year'] == current_year else row['Month'], axis=1)
# 打印结果
print(df)
运行以上代码,将得到如下输出结果:
Year Month Month_minus_one
0 2020 9 8
1 2021 10 10
2 2022 11 11
在这个示例中,我们首先使用datetime库获取当前的年份和月份。然后,使用apply函数和lambda表达式来比较每一行的年份和月份,如果年份与当前年份相同,则将月份减一,否则保持原始月份不变。最后,将结果存储在一个新的列"Month_minus_one"中。