Дает ли этот код ожидаемый результат?
import pandas as pd
import numpy as np
df = pd.DataFrame({'Date_1' : pd.period_range('2019/09/01', '2019/09/30', freq='D').repeat(30)})
df['Date_2'] = np.tile(np.arange(30, 0, -1), df.Date_1.unique().size)
df.Date_2 = pd.to_timedelta(df.Date_2, 'D')
df.Date_2 = df.Date_1 - df.Date_2
print(df)
Первый ответ:
"Вот способ сделать это (не совсем тот формат, который вы запросили для" Date_2 "), но это идея):
import pandas as pd
import numpy as np
df = pd.DataFrame({'Date_1' : pd.period_range('2019/09/01', '2019/09/30', freq='D')})
df['Date_2_1'] = df.Date_1 - np.timedelta64(30, 'D') # First date for Date_2
df['Date_2_2'] = df.Date_1 - np.timedelta64(1, 'D') # Second date for Date_2
print(df)
"