为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫日期范围包括系列的开始日期

熊猫日期范围包括系列的开始日期

尚方宝剑之说 2022-05-24 15:28:55
dRan1 = pd.date_range(start ='1-15-2018',            end ='8-1-2018', freq ='M') 上面的代码生成以下系列:DatetimeIndex(['2018-01-31', '2018-02-28', '2018-03-31', '2018-04-30',              '2018-05-31', '2018-06-30', '2018-07-31'],               dtype='datetime64[ns]', freq='M')但我想要这个:DatetimeIndex(['2018-01-15', '2018-01-31', '2018-02-28', '2018-03-31',                '2018-04-30','2018-05-31', '2018-06-30', '2018-07-31'],               dtype='datetime64[ns]', freq='M')
查看完整描述

3 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

我认为下面可以是一种解决方案,


pd.date_range(start='1-15-2018', end='1-15-2018').union(pd.date_range(

start='1-15-2018',end='8-31-2018', freq='M', closed='right'))


查看完整回答
反对 回复 2022-05-24
?
慕村225694

TA贡献1880条经验 获得超4个赞

可能是自定义函数:


from pandas.tseries.offsets import MonthEnd

def myfunc(s,e):

    #check if start date is monthend

    if pd.to_datetime(s).date()==(pd.to_datetime(s)+ MonthEnd(0)).date(): 

        return pd.date_range(s,e, freq ='M') #dont append

    else: #else

        return pd.date_range(s,e, freq ='M').insert(0,pd.to_datetime(s)) #insert the date

测试运行:


myfunc('1-15-2018','8-1-2018')

#DatetimeIndex(['2018-01-15', '2018-01-31', '2018-02-28', '2018-03-31',

#           '2018-04-30', '2018-05-31', '2018-06-30', '2018-07-31'],

#          dtype='datetime64[ns]', freq='M')

myfunc('1-31-2018','8-1-2018')

#DatetimeIndex(['2018-01-31', '2018-02-28', '2018-03-31', '2018-04-30',

#           '2018-05-31', '2018-06-30', '2018-07-31'],

#          dtype='datetime64[ns]', freq='M')


查看完整回答
反对 回复 2022-05-24
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

insert您可以使用该功能添加第一个日期。


dRan1.insert(0, pd.to_datetime('2018-01-15'))

DatetimeIndex(['2018-01-15', '2018-01-31', '2018-02-28', '2018-03-31',

               '2018-04-30', '2018-05-31', '2018-06-30', '2018-07-31'],

              dtype='datetime64[ns]', freq='M')

但是,您的日期之间的间隔并不统一,所以请考虑这是否有用。


查看完整回答
反对 回复 2022-05-24
  • 3 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信