繁体   English   中英

熊猫to_datetime函数的问题

[英]Issue with pandas to_datetime function

我有一列是unix时间戳。 我想将此列转换为%y-%m-%d格式的日期。 只是为了测试to_datetime()函数,我做了下面的工作,它按预期工作,并为我提供了像这样的格式2015-05-12 00:11:30

df['time'] = pd.to_datetime(df['time'], unit='s')

当我添加如下所示的format参数时,出现错误:

df['time'] = pd.to_datetime(df['time'], unit='s', format='%d/%m/%Y')

错误为ValueError: time data 1431389490 does not match format '%d/%m/%Y'

如何删除小时,分钟和秒数,这样我才剩下2014-05-12?

如果您只想提取日期,则可以在转换为datetime之后的第二步中进行提取:

x = pd.to_datetime(pd.Series([1431389490]), unit='s')
# Datetime columns have a `.dt` attribute, with useful properties
# and methods for working with dates
x.dt.date
Out[7]: 
0    2015-05-12
dtype: object

这将丢弃有关小时和分钟的信息,但是由于结果是datetime.date对象,因此您将能够轻松处理所得的列/系列,例如,减去以找到列与特定日期之间的天数。

如果您想保留有关小时和分钟的信息,而只是以不同的方式显示 ,我不确定这是可能的。

暂无
暂无

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

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