本文介绍了Pandas 将时间戳列转换为日期时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

鉴于以下数据框和必要的争论:

Given the following data frame and necessary wrangling:

import pandas as pd
df=pd.DataFrame({'A':['a','b','c'],
        'dates':['2015-08-31 00:00:00','2015-08-24 00:00:00','2015-08-25 00:00:00']})
df.dates=df.dates.astype(str)
df['dates'] = pd.to_datetime(df.dates.str.split(',s*').str[0])
set(df['dates'])

我最终得到:

{Timestamp('2015-08-24 00:00:00'),
 Timestamp('2015-08-25 00:00:00'),
 Timestamp('2015-08-31 00:00:00')}

我需要将时间戳转换回日期时间(真的,只是日期)格式.

I need to convert the time stamps back to datetime (really, just date) format.

我已根据 这篇文章:

df['dates'].to_pydatetime()

但是返回:

AttributeError: 'Series' object has no attribute 'to_pydatetime'

在我的真实数据中,数据类型是:<M8[ns]

In my real data, the data type is: <M8[ns]

推荐答案

你可以使用dt.date 返回一个 datetime.date 对象:

In [3]:
set(df['dates'].dt.date)

Out[3]:
{datetime.date(2015, 8, 24),
 datetime.date(2015, 8, 25),
 datetime.date(2015, 8, 31)}

这篇关于Pandas 将时间戳列转换为日期时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-26 10:20