Я новичок в python и имею довольно простой (надеюсь, простой вопрос).Преобразование строки datetime в новые столбцы дня, месяца, года в кадре данных pandas
Скажите, что у меня есть кадр данных с 3 столбцами: время (которое находится в формате YYYY-MM-DDTHH: MM: SSZ), device_id и дождь, но мне нужен первый столбец «время», чтобы стать три столбца «день», «месяц» и «год» со значениями из метки времени.
Таким образом, исходный кадр данных выглядит следующим образом:
time device_id rain
2016-12-27T00:00:00Z 9b839362-b06d-4217-96f5-f261c1ada8d6 NaN
2016-12-28T00:00:00Z 9b839362-b06d-4217-96f5-f261c1ada8d6 0.2
2016-12-29T00:00:00Z 9b839362-b06d-4217-96f5-f261c1ada8d6 NaN
2016-12-30T00:00:00Z 9b839362-b06d-4217-96f5-f261c1ada8d6 NaN
2016-12-31T00:00:00Z 9b839362-b06d-4217-96f5-f261c1ada8d6 NaN
Но я пытаюсь получить кадр данных, чтобы выглядеть следующим образом:
day month year device_id rain
27 12 2016 9b839362-b06d-4217-96f5-f261c1ada8d6 NaN
28 12 2016 9b839362-b06d-4217-96f5-f261c1ada8d6 0.2
29 12 2016 9b839362-b06d-4217-96f5-f261c1ada8d6 NaN
30 12 2016 9b839362-b06d-4217-96f5-f261c1ada8d6 NaN
31 12 2016 9b839362-b06d-4217-96f5-f261c1ada8d6 NaN
Я не заботиться о час/секунды/минуты, но эти значения нужны из первоначальной отметки времени, и я даже не знаю, с чего начать. Пожалуйста помоги!
Вот некоторые воспроизводимые код для начала:
>> import pandas as pd
>> df = pd.DataFrame([['2016-12-27T00:00:00Z', '9b839362-b06d-4217-96f5-f261c1ada8d6', 'NaN']], columns=['time', 'device_id', 'rain'])
>> print df
2016-12-27T00:00:00Z 9b849362-b06d-4217-96f5-f261c1ada8d6 NaN
Это также работает. Мне нравится, как это делается в одной команде. – JAG2024
У меня есть другой родственный вопрос, возможно, вы можете помочь: http://stackoverflow.com/questions/41471256/add-column-from-one-data-frame-to-group-by-data-frame-in-python – JAG2024