Python 向存储在列中的时间戳值添加随机天数,并将结果保存在新列中

Python 向存储在列中的时间戳值添加随机天数,并将结果保存在新列中,python,pandas,date,timestamp,Python,Pandas,Date,Timestamp,我在一列中存储了一些入院日期,我想在一个新的列中添加入院日期后3到20天之间的未来随机日期(出院日期) 我的入学日期: show = pd.DataFrame(columns=[ 'admission dates']) show['admission dates'] = random_dates(start=pd.to_datetime('2021-01-01'), end=pd.to_datetime

我在一列中存储了一些入院日期,我想在一个新的列中添加入院日期后3到20天之间的未来随机日期(出院日期)

我的入学日期:

show = pd.DataFrame(columns=[ 'admission dates'])

show['admission dates'] = random_dates(start=pd.to_datetime('2021-01-01'), 
                                             end=pd.to_datetime('2021-01-31'), size=5)
显示

我想得到的

admission dates Discharge dates
0   2021-01-02  2021-01-05      # +3
1   2021-01-16  2021-01-26      # +10 
2   2021-01-10  2021-01-15      # +5
3   2021-01-27   ...
4   2021-01-30
您可以使用:

import random
from datetime import timedelta

show["Discharge dates"] = show["admission dates"] + timedelta(days=random.randint(3, 20))

我们可以使用
np.random.randint
生成3到20之间的随机整数,然后将生成的整数的数据类型更改为
timedelta64
,然后与
入院日期中的相应值相加

dates = np.random.randint(3, 20, len(show)).astype('timedelta64[D]')
show['discharge date'] = show['admission dates'] + dates


很好的解释!
dates = np.random.randint(3, 20, len(show)).astype('timedelta64[D]')
show['discharge date'] = show['admission dates'] + dates
>>> dates
array([14,  9,  6, 16,  6], dtype='timedelta64[D]')

>>> show
  admission dates discharge date
0      2021-01-02     2021-01-16 # + 14 days
1      2021-01-16     2021-01-25 # + 9 days
2      2021-01-10     2021-01-16
3      2021-01-27     2021-02-12
4      2021-01-30     2021-02-05 # + 6 days