如何解决入住日期及退房日期
我正在使用jupyter笔记本学习,并且创建了一个我无法解决的问题 我有一个带有两列日期的数据框(已经是数据时间格式) column1是输入日期 column2是出发日期
如何创建日期范围在column1和column2之间的新列? 在python
中解决方法
由于缺少示例DataFrame
,我一起捣乱了一个日期随机生成器。其他人,请随时使用它来创建比我更干净的解决方案。
from random import randint
import datetime
import pandas as pd
date1 = datetime.date(2020,1,1).toordinal()
date2 = datetime.date(2021,1).toordinal()
dates = [sorted([randint(date1,date2),randint(date1,date2)]) for i in range(10)]
df = pd.DataFrame(dates,columns=["col1","col2"])
df.col1 = df.col1.apply(lambda x: datetime.date.fromordinal(x))
df.col2 = df.col2.apply(lambda x: datetime.date.fromordinal(x))
df["col3"] = df.apply(lambda x: list(pd.date_range(start=x.col1,end=x.col2,freq="1D")),axis=1)
print(df)
输出:
col1 col2 col3
0 2020-05-30 2020-07-04 [2020-05-30 00:00:00,2020-05-31 00:00:00,202...
1 2020-07-09 2021-01-01 [2020-07-09 00:00:00,2020-07-10 00:00:00,202...
2 2020-05-03 2020-10-20 [2020-05-03 00:00:00,2020-05-04 00:00:00,202...
3 2020-04-26 2020-06-29 [2020-04-26 00:00:00,2020-04-27 00:00:00,202...
4 2020-10-06 2020-11-03 [2020-10-06 00:00:00,2020-10-07 00:00:00,202...
5 2020-05-15 2020-12-22 [2020-05-15 00:00:00,2020-05-16 00:00:00,202...
6 2020-01-02 2020-02-06 [2020-01-02 00:00:00,2020-01-03 00:00:00,202...
7 2020-02-21 2020-09-28 [2020-02-21 00:00:00,2020-02-22 00:00:00,202...
8 2020-03-11 2020-07-29 [2020-03-11 00:00:00,2020-03-12 00:00:00,202...
9 2020-07-16 2020-07-18 [2020-07-16 00:00:00,2020-07-17 00:00:00,202...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。