Python 向存储在列中的时间戳值添加随机天数,并将结果保存在新列中
我在一列中存储了一些入院日期,我想在一个新的列中添加入院日期后3到20天之间的未来随机日期(出院日期) 我的入学日期: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
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