/ / Не може да се конвертира времето във формат Python readable - python, datetime

Не може да се конвертира времето за дата в Python readable format - python, datetime

Имам определен период от време, както следва:

Date
2017-04-02 12:00 AM
2017-04-02 01:00 AM
2017-04-02 02:00 AM
2017-04-02 03:00 AM
2017-04-02 04:00 AM
2017-04-02 05:00 AM
2017-04-02 06:00 AM
2017-04-02 07:00 AM
2017-04-02 08:00 AM
2017-04-02 09:00 AM
2017-04-02 10:00 AM

Искам да ги конвертирате в Python дата време, за да го парцел в x-axis.I използва следния код:

dates=fire["Date"]#copy date value in dataframe
x = dt.datetime.strptime("dates","%Y-%m-%d %I:%M %p").date()

Но това ми дава грешка като:

time data "d" does not match format "%Y-%m-%d %I:%M %p"

Как мога да конвертирам всички дати в дати, които могат да се четат от Python?

Отговори:

3 за отговор № 1

d е променлива, така че трябва да премахнете котировките:

x = [dt.datetime.strptime(d,"%Y-%m-%d %I:%M %p").date() for d in dates]

Редактиране: възпроизводим пример

След заявката за ОП тук е възпроизводим пример:

import pandas as pd
import datetime as dt
from StringIO import StringIO

data="""
Date
2017-04-02 12:00 AM
2017-04-02 01:00 AM
2017-04-02 02:00 AM
2017-04-02 03:00 AM
2017-04-02 04:00 AM
2017-04-02 05:00 AM
2017-04-02 06:00 AM
2017-04-02 07:00 AM
2017-04-02 08:00 AM
2017-04-02 09:00 AM
2017-04-02 10:00 AM
"""
# StringIO is used to simulate reading from a csv file
df = pd.read_csv(StringIO(data))
print(df.head())

dates = df["Date"]
x = [dt.datetime.strptime(d,"%Y-%m-%d %I:%M %p").date() for d in dates]
print(x)

Резултатът:

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

На странична нота, пандите могат да анализират датите за вас, както следва:

df2 = pd.read_csv(StringIO(data), parse_dates=["Date"])

Резултатът:

                 Date
0 2017-04-02 00:00:00
1 2017-04-02 01:00:00
2 2017-04-02 02:00:00
3 2017-04-02 03:00:00
4 2017-04-02 04:00:00