Typed arrays of times: NumPy's 'datetime64'
import pandas as pd
문자열을 datetype으로 변경
dates = ['2021-01-04' , '2021-01-07','2021-01-08', '2021-01-22']
pd.to_datetime(dates) # 문자열일 경우 바로 실행가능
DatetimeIndex(['2021-01-04', '2021-01-07', '2021-01-08', '2021-01-22'], dtype='datetime64[ns]', freq=None)
dates2 = ['2021/01/04' , '2021/01/07','2021/01/08', '2021/01/22']
pd.to_datetime(dates2)
DatetimeIndex(['2021-01-04', '2021-01-07', '2021-01-08', '2021-01-22'], dtype='datetime64[ns]', freq=None)
dates3 = ['2021,01,04' , '2021,01,07', '2021,01,08', '2021,01,22']
pd.to_datetime(dates3, format='%Y,%m,%d') # 시리즈 일경우 format을 작성해주기
DatetimeIndex(['2021-01-04', '2021-01-07', '2021-01-08', '2021-01-22'], dtype='datetime64[ns]', freq=None)
Dates and times in pandas : best of both worlds
CodeMeaningTime span (relative)Time span (absolute)
DirectiveMeaningExampleNotes
%a | Weekday as locale’s abbreviated name. |
Sun, Mon, …, Sat (en_US);
So, Mo, …, Sa (de_DE)
|
(1) |
%A | Weekday as locale’s full name. |
Sunday, Monday, …, Saturday (en_US);
Sonntag, Montag, …, Samstag (de_DE)
|
(1) |
%w | Weekday as a decimal number, where 0 is Sunday and 6 is Saturday. | 0, 1, …, 6 | |
%d | Day of the month as a zero-padded decimal number. | 01, 02, …, 31 | (9) |
%b | Month as locale’s abbreviated name. |
Jan, Feb, …, Dec (en_US);
Jan, Feb, …, Dez (de_DE)
|
(1) |
%B | Month as locale’s full name. |
January, February, …, December (en_US);
Januar, Februar, …, Dezember (de_DE)
|
(1) |
%m | Month as a zero-padded decimal number. | 01, 02, …, 12 | (9) |
%y | Year without century as a zero-padded decimal number. | 00, 01, …, 99 | (9) |
%Y | Year with century as a decimal number. | 0001, 0002, …, 2013, 2014, …, 9998, 9999 | (2) |
%H | Hour (24-hour clock) as a zero-padded decimal number. | 00, 01, …, 23 | (9) |
%I | Hour (12-hour clock) as a zero-padded decimal number. | 01, 02, …, 12 | (9) |
%p | Locale’s equivalent of either AM or PM. |
AM, PM (en_US);
am, pm (de_DE)
|
(1), (3) |
%M | Minute as a zero-padded decimal number. | 00, 01, …, 59 | (9) |
%S | Second as a zero-padded decimal number. | 00, 01, …, 59 | (4), (9) |
%f | Microsecond as a decimal number, zero-padded on the left. | 000000, 000001, …, 999999 | (5) |
%z | UTC offset in the form ±HHMM[SS[.ffffff]] (empty string if the object is naive). | (empty), +0000, -0400, +1030, +063415, -030712.345216 | (6) |
%Z | Time zone name (empty string if the object is naive). | (empty), UTC, GMT | (6) |
%j | Day of the year as a zero-padded decimal number. | 001, 002, …, 366 | (9) |
%U | Week number of the year (Sunday as the first day of the week) as a zero padded decimal number. All days in a new year preceding the first Sunday are considered to be in week 0. | 00, 01, …, 53 | (7), (9) |
%W | Week number of the year (Monday as the first day of the week) as a decimal number. All days in a new year preceding the first Monday are considered to be in week 0. | 00, 01, …, 53 | (7), (9) |
%c | Locale’s appropriate date and time representation. |
Tue Aug 16 21:30:00 1988 (en_US);
Di 16 Aug 21:30:00 1988 (de_DE)
|
(1) |
%x | Locale’s appropriate date representation. |
08/16/88 (None);
08/16/1988 (en_US);
16.08.1988 (de_DE)
|
(1) |
%X | Locale’s appropriate time representation. |
21:30:00 (en_US);
21:30:00 (de_DE)
|
(1) |
%% | A literal '%' character. | % |
pd.to_timedelta(np.arange(10), 'D')
TimedeltaIndex(['0 days', '1 days', '2 days', '3 days', '4 days', '5 days',
'6 days', '7 days', '8 days', '9 days'],
dtype='timedelta64[ns]', freq=None)
any_date =
array('2020-11-19', dtype='datetime64[D]')
any_date + pd.to_timedelta(np.arange(10), 'D')
DatetimeIndex(['2020-11-19', '2020-11-20', '2020-11-21', '2020-11-22',
'2020-11-23', '2020-11-24', '2020-11-25', '2020-11-26',
'2020-11-27', '2020-11-28'],
dtype='datetime64[ns]', freq=None)
일주일 단위로 생성
any_date + pd.to_timedelta(np.arange(10), 'W')
DatetimeIndex(['2020-11-19', '2020-11-26', '2020-12-03', '2020-12-10',
'2020-12-17', '2020-12-24', '2020-12-31', '2021-01-07',
'2021-01-14', '2021-01-21'],
dtype='datetime64[ns]', freq=None)
한시간 단위로 생성
any_date + pd.to_timedelta(np.arange(10), 'h')
DatetimeIndex(['2020-11-19 00:00:00', '2020-11-19 01:00:00',
'2020-11-19 02:00:00', '2020-11-19 03:00:00',
'2020-11-19 04:00:00', '2020-11-19 05:00:00',
'2020-11-19 06:00:00', '2020-11-19 07:00:00',
'2020-11-19 08:00:00', '2020-11-19 09:00:00'],
dtype='datetime64[ns]', freq=None)
Date 를 인덱스로 저장!
df.index = pd.DatetimeIndex(df['Date'])
'Python 문법 > Pandas_Dates and Times' 카테고리의 다른 글
[Dates and times](3) : pd.DatetimeIndex(), pd.date_range(), pd.timedelta_range() (0) | 2021.11.23 |
---|