[英]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.