Home > OS >  Use multiple dates in pd.date_range
Use multiple dates in pd.date_range

Time:11-27

I have a range of dates in date column of dataframe. The dates are scattered eg 1st feb, 5th Feb, 11th feb etc.

I want to use pd.date_range with frequency one minute on every date in this column. So my start argument will be date and the end argument will be date datetime.timedelta(days=1).

I'm struggling with using apply function with this, can someone help me with it? or can I use some other function over here?

I don't want to use a for loop because the length of my dates will be HUGE.

I tried this :

df.date.apply(lamda x : pd.date_range(start=df['date'],end = df['date'] datetime.timedelta(days=1),freq="1min"),axis =1)

but I'm getting error.

Thanks in advance

CodePudding user response:

Use x in lambda function instead df['date'] and remove axis=1:

df = pd.DataFrame({'date':pd.date_range('2021-11-26', periods=3)})

print (df)
        date
0 2021-11-26
1 2021-11-27
2 2021-11-28

s = df['date'].apply(lambda x:pd.date_range(start=x,end=x pd.Timedelta(days=1),freq="1min"))
print (s)
0    DatetimeIndex(['2021-11-26 00:00:00', '2021-11...
1    DatetimeIndex(['2021-11-27 00:00:00', '2021-11...
2    DatetimeIndex(['2021-11-28 00:00:00', '2021-11...
Name: date, dtype: object.Timedelta(days=1),freq="1min"))
  • Related