python - pandas to_datetime 函数问题

标签 python datetime pandas

我有一列是 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?

最佳答案

如果只想提取日期,可以在转换为日期时间后的第二步中执行此操作:

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 对象,例如减去您的列和特定日期之间的天数。

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

关于python - pandas to_datetime 函数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30519217/

相关文章:

python - 逐列连接两个带有字符串的df

python - 直接从 request.get().content 的结果创建 pandas DataFrame

python - 如何将多列附加到前 3 列并使用 pandas 重复索引值?

python - 执行 list.pop() 时出现意外结果?

python - ipython 笔记本终端不可用

python-3.x - 按日期时间索引的 pandas 数据框中最常出现的情况

Python日期字符串格式

python - 如何使用不带年份的 datetime_range 创建每小时列表

python - 安装 ScrapyJS - python 新手

python - 从 Python 数据框中的整数中检索工作日名称