繁体   English   中英

"从熊猫日期列中减去当前时间"

[英]subtract current time from pandas date column

我有一个熊猫数据框

x = pd.DataFrame(['05/06/2015 00:00', '22/06/2015 00:00', None], columns=['myDate'])

我想找出myDate列中的日期与当前日期之间的天数。 我怎样才能做到这一点? 我尝试了以下但没有成功

pd.to_datetime(x['myDate']) - pd.datetime.now().date()

以下对我有用:

In [9]:

df = pd.DataFrame(['05/06/2015 00:00', '22/06/2015 00:00', None], columns=['myDate'])
df['myDate']= pd.to_datetime(df['myDate'], errors='coerce')
df
Out[9]:
      myDate
0 2015-05-06
1 2015-06-22
2        NaT
In [10]:

df['diff'] = df['myDate'] - pd.Timestamp.now().normalize()
df
Out[10]:
      myDate    diff
0 2015-05-06  9 days
1 2015-06-22 56 days
2        NaT     NaT

和你的版本一样:

In [13]:

df['diff'] = df['myDate'] - pd.Timestamp.now().normalize()
df
Out[13]:
      myDate    diff
0 2015-05-06  9 days
1 2015-06-22 56 days
2        NaT     NaT

更紧凑的版本:

In [15]:

df = pd.DataFrame(['05/06/2015 00:00', '22/06/2015 00:00', None], columns=['myDate'])
df['diff']= pd.to_datetime(df['myDate'], errors='coerce') - pd.Timestamp.now().normalize()
df
Out[15]:
             myDate    diff
0  05/06/2015 00:00  9 days
1  22/06/2015 00:00 56 days
2              None     NaT

我在最近的一项工作中使用了这个的变体。 谢谢你。

我的问题是下面给出了日期之间的天数,但它在该字段中显示“天数”。 我怎样才能让它删除“天”。

示例输出:-1855 天

我宁愿只说 1855,因为“Days”是标题。

df = pd.DataFrame(['05/06/2015 00:00', '22/06/2015 00:00', None], columns=['myDate']) df['diff']= pd.to_datetime (df['myDate'], errors='coerce') - pd.Timestamp.now().normalize()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM