【问题标题】:pandas get days in a column from start date?熊猫从开始日期开始在一列中获得天数?
【发布时间】:2021-06-01 10:27:31
【问题描述】:
pandas 从开始日期获取列中的天数?
start_date = '01/01/2021' (dd/mm/yyyy)
df
dates
2021-01-01
2021-01-02
.
.
.
2021-02-01
.
.
.
2021-06-01 (end date should be current date)
【问题讨论】:
标签:
pandas
dataframe
numpy
python-datetime
【解决方案1】:
如果总是有1.1. pandas 解析日期时间,比如mm/dd/YYYY,那么因为同一天和同一个月在这里工作得很好,只将字符串传递给to_datetime 和now,默认period='D',所以省略:
df = pd.DataFrame({'dates':pd.date_range(start_date, pd.to_datetime('now'))})
转换start_date by format dd/mm/YYYY 的一般解决方案也解析start_date 和format 参数:
start_date = '01/05/2021'
df = pd.DataFrame({'dates': pd.date_range(pd.to_datetime(start_date, format='%d/%m/%Y'),
pd.to_datetime('now'))})
【解决方案2】:
如果你想要一个数据框输出:
d = pd.date_range(start_date, pd.to_datetime('now'))
df = pd.DataFrame({'dates': d})