问题一:
您将如何计算开始日期(base_date
变量)和y
pandas 数据框中的列之间的季度数?
from dateutil.relativedelta import relativedelta
import pandas as pd
import numpy as np
base_date=pd.to_datetime('07/01/2019')
fake_data=pd.DataFrame([(x,pd.to_datetime('04/01/2020')+relativedelta(months=y)) for x in list(range(0,100)) for y in list(range(0,100))],columns=['x','y'])
fake_data['z']=fake_data['x']*np.random.uniform(low=1,high=1000)
更新:一个选项似乎适用于问题1:
fake_data['month_diff']=(fake_data['y'].dt.year-base_date.year)*12+fake_data['y'].dt.month-base_date.month
fake_data['quarter']=(fake_data['month_diff']/3).astype(int)
问题2:
如果x
andy
变量现在设置为 pandas 数据框多级索引。您将如何执行与问题 1 相同的任务?
fake_data.set_index(['x','y'],drop=True,inplace=True)