大熊猫日期时间格式转换

我的数据集有日期列中的值,如以下格式:大熊猫日期时间格式转换" title="时间格式转换">时间格式转换

date 

[datetime.date(2017, 2, 17)]

[datetime.date(2017, 2, 17)]

[datetime.date(2017, 2, 17)]

[datetime.date(2017, 2, 17)]

[datetime.date(2017, 2, 17)]

[datetime.date(2017, 2, 17)]

[datetime.date(2017, 2, 17)]

[datetime.date(2017, 2, 17)]

[datetime.date(2017, 2, 17)]

[datetime.date(2017, 2, 17)]

[datetime.date(2017, 2, 17)]

[datetime.date(2017, 2, 17)]

我想将它们转换成日期时间数据类型的让我不能在它进行时间序列分析。

我已经写在下面的方法:但它给我值误差

df_scores['date']=pd.to_datetime(df_scores['date'],format='[datetime.date("%Y, %m, %d")]') 

回答:

如果您的列是列表中的一列date对象,则这应该就足够了 -

df.date = pd.to_datetime(df_scores['date'].str[0], errors='coerce') 

如果你有一个字符串的列,您可以使用str.findall提取日期的文物,并str.join加入他们在to_datetime理解的格式。

i = df.date.astype(str)\ 

.str.findall('\d+')\

.str.join('/')

df.date = pd.to_datetime(i, errors='coerce')

astype(str),如果你有一个字符串的列表的列,而不是字符串的列是必需的。如果您的列中存在格式错误的数据,则可能还需要其他参数errors='coerce'


df 

date

0 2017-02-17

1 2017-02-17

2 2017-02-17

3 2017-02-17

4 2017-02-17

5 2017-02-17

6 2017-02-17

7 2017-02-17

8 2017-02-17

9 2017-02-17

10 2017-02-17

11 2017-02-17

回答:

如果你from datetime import datetime 那么你应该指定日期如下: [datetime(2017, 2, 17)] 这将导致<class 'pandas._libs.tslib.Timestamp'>类型的项目,你可以转换为日期时间使用.to_datetime()

回答:

这应该工作:

df_scores['date']=pd.to_datetime(df_scores['date'],format="[datetime.date(%Y, %m, %d)]") 

以上是 大熊猫日期时间格式转换 的全部内容, 来源链接: utcz.com/qa/263551.html

回到顶部