Преобразование объекта dataframe в дату с использованием to_datetime - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть набор данных, который выглядит следующим образом:

    date        id
0   2014-01-01  11000929
1   2014-01-01  11000190
2   2014-01-01  11000216
3   2014-01-01  11000822
4   2014-01-01  11000971
5   2014-01-01  11000721
6   2014-01-01  11000970
7   2014-01-01  11000574
8   2014-01-01  11000967
9   2014-01-01  11000172
10  2014-01-01  11000208
11  2014-01-01  11000966
12  2014-01-01  11000344
13  2014-01-01  11000965
14  2014-01-01  11000935
15  2014-01-01  11000964
16  2014-01-01  11000741
17  2014-01-01  11000868
18  2014-01-01  11000035
19  2014-01-01  11000203
20  2014-01-02  11000574

, поскольку вы можете видеть, что существует много повторяющихся дат для разных продуктов, я объединю эту таблицу с другой таблицей, которая требует от меняпреобразовать столбец даты, который в данный момент и объект, в datetime64 [нс].

Я пытался

df_date_id.date = pd.to_datetime(df_date_id.date)

, но в результате я получил ошибку:

TypeError: <class 'pandas._libs.tslibs.period.Period'> is not convertible to datetime

PS: таблица, с которой я собираюсь объединиться, выглядит следующим образом:

    date        id          score
0   2014-01-01  11000035    75
1   2014-01-02  11000035    84
2   2014-01-03  11000035    55

, поэтому формат даты обеих таблиц выглядит для меня одинаково.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Работает для меня, указав формат:

df.date = pd.to_datetime(df.date, format='%Y-%M-%d')

     date                 id
0 2014-01-01 00:01:00  11000929
1 2014-01-01 00:01:00  11000190
2 2014-01-01 00:01:00  11000216
3 2014-01-01 00:01:00  11000822
4 2014-01-01 00:01:00  11000971

Если не попробовать:

df.date = pd.to_datetime(df.date.astype(str), format='%Y-%M-%d')
0 голосов
/ 20 декабря 2018

Я думаю, что необходимо преобразовать период в дату и время с помощью to_timestamp:

df['date'] = df['date'].dt.to_timestamp()
print (df['date'].dtypes)
datetime64[ns]

Другим решением является преобразование столбца в другом DataFrame в такие периоды, как:

df2['date'] = df2['date'].dt.to_period('d')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...