Python / Pandas / Datetime: преобразование целых списков в столбце в datetime - PullRequest
1 голос
/ 13 февраля 2020

У меня есть Pandas Dataframe со следующей структурой:

   title                       zeiten
0  Anker der Liebe             ['2020-02-17T19:15:00+01:00']
1  DarkroomTödliche Tropfen    ['2020-02-17T21:45:00+01:00']
2  Das geheime Leben der Bäume,['2020-02-13T16:45:00+01:00', '2020-02-14T16:45:00+01:00', '2020-02-15T16:45:00+01:00', '2020-02-16T16:45:00+01:00', '2020-02-17T16:45:00+01:00', '2020-02-18T16:45:00+01:00', '2020-02-19T16:45:00+01:00']
...

Я хочу преобразовать столбец «Zeiten» в datetime, поэтому я tride:

df['zeiten'] = df['zeiten'].apply(lambda x: pd.to_datetime(x)[0])

Это работает для строки 0 и 1, но не для строки 2, поскольку преобразуется только первая дата списка, поэтому выходные данные выглядят так:

   title                        zeiten
0  Anker der Liebe              2020-02-17 19:15:00+01:00
1  DarkroomTödliche Tropfen     2020-02-17 21:45:00+01:00
2  Das geheime Leben der Bäume  2020-02-13 16:45:00+01:00

есть ли способ преобразовать целые списки в столбце в Datetime

1 Ответ

1 голос
/ 13 февраля 2020

Преобразуйте все значения, не только сначала, поэтому удалили [0], а также при необходимости преобразовали DatetimeIndex для каждого значения в list:

df['zeiten'] = df['zeiten'].apply(lambda x: pd.to_datetime(x))
print (df)
                          title  \
0               Anker der Liebe   
1      DarkroomTodliche Tropfen   
2  Das geheime Leben der Baume,   

                                              zeiten  
0  DatetimeIndex(['2020-02-17 19:15:00+01:00'], d...  
1  DatetimeIndex(['2020-02-17 21:45:00+01:00'], d...  
2  DatetimeIndex(['2020-02-13 16:45:00+01:00', '2... 

df['zeiten'] = df['zeiten'].apply(lambda x: pd.to_datetime(x).tolist())
print (df)
                          title  \
0               Anker der Liebe   
1      DarkroomTodliche Tropfen   
2  Das geheime Leben der Baume,   

                                              zeiten  
0                        [2020-02-17 19:15:00+01:00]  
1                        [2020-02-17 21:45:00+01:00]  
2  [2020-02-13 16:45:00+01:00, 2020-02-14 16:45:0...  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...