【问题标题】:How to change longhand date+time to shorthand, operable Datetime in Pandas dataframe?如何在 Pandas 数据框中将普通日期+时间更改为速记、可操作的日期时间?
【发布时间】:2019-02-21 14:01:51
【问题描述】:

我正在尝试在 2 个数据框列上运行一个操作数,通过从当前日期列中减去到期列来确定 DTE(到期日)。我尝试将列转换为浮点数、整数或 pd.to_datetime() 但无法使操作数工作,也无法将日期转换为 '8-21-2018' 格式。

我尝试了以下方法:

     opt_chain['Expiry'] = pd.to_datetime(opt_chain['Expiry']) 
     opt_chain.head()
     #AND/OR
`.   mkt_calls['DTE'] = [mkt_calls['Expiry'] - mkt_calls['Date']]
     mkt_calls.head()

& with float(), int(), & to_datetime()

请指教,我提供了数据框的屏幕截图,一团糟。 enter image description here

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    两个对象都需要是日期时间,并且可以速记使用:

    '''

    opt_chain['Expiry'] = pd.to_datetime(opt_chain['Expiry'],format='%d-%m-%Y').dt.floor('d')
    
    opt_chain['Date'] = pd.to_datetime(mkt_calls['Date'],format='%d-%m-%Y').dt.floor('d')
    opt_chain['DTE'] = opt_chain.Expiry - opt_chain.Date
    

    '''

    dt.floor('d') 删除时间属性... %Y 是全年格式。

    以防万一其他人好奇!

    -ZMazz

    【讨论】:

      猜你喜欢
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 2019-12-26
      • 2020-03-04
      • 2018-06-19
      • 2020-05-29
      • 1970-01-01
      相关资源
      最近更新 更多