Извлечь день месяца как массив из столбца datetime - PullRequest
0 голосов
/ 24 декабря 2018

Я загрузил кадр данных pandas из CSV-файла, который содержит столбец со значениями даты и времени.

df = pd.read_csv('data.csv')

Имя столбца со значениями даты и времени равно pickup_datetime.Вот что я получу, если я сделаю df['pickup_datetime'].head():

0   2009-06-15 17:26:00+00:00
1   2010-01-05 16:52:00+00:00
2   2011-08-18 00:35:00+00:00
3   2012-04-21 04:30:00+00:00
4   2010-03-09 07:51:00+00:00
Name: pickup_datetime, dtype: datetime64[ns, UTC]

Как мне преобразовать этот столбец в пустой массив, имеющий только значения дня datetime?Например: 15 от 0 2009-06-15 17:26:00+00:00, 05 от 1 2010-01-05 16:52:00+00:00 и т. Д.

Ответы [ 2 ]

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

Просто добавив еще один вариант, хотя coldspeed уже предоставляет краткий ответ в качестве рождественского и новогоднего бонуса :-):

>>> df
             pickup_datetime
0  2009-06-15 17:26:00+00:00
1  2010-01-05 16:52:00+00:00
2  2011-08-18 00:35:00+00:00
3  2012-04-21 04:30:00+00:00
4  2010-03-09 07:51:00+00:00

Преобразование строк в метки времени, выводя их формат:

>>> df['pickup_datetime'] = pd.to_datetime(df['pickup_datetime'])
>>> df
      pickup_datetime
0 2009-06-15 17:26:00
1 2010-01-05 16:52:00
2 2011-08-18 00:35:00
3 2012-04-21 04:30:00
4 2010-03-09 07:51:00

Вы можете выбрать день только с pickup_datetime:

>>> df['pickup_datetime'].dt.day
0    15
1     5
2    18
3    21
4     9
Name: pickup_datetime, dtype: int64

Вы можете выбрать месяц только с pickup_datetime:

>>> df['pickup_datetime'].dt.month
0    6
1    1
2    8
3    4
4    3

Вы можетерис года только из pickup_datetime

>>> df['pickup_datetime'].dt.year
0    2009
1    2010
2    2011
3    2012
4    2010
0 голосов
/ 24 декабря 2018
df['pickup_datetime'] = pd.to_datetime(df['pickup_datetime'], errors='coerce')
df['pickup_datetime'].dt.day.values
# array([15,  5, 18, 21,  9])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...