NumPy는 Datetime64를 Datetime.Datetime 또는 Timestamp로 변환합니다.

Salman Mehmood 2023년6월20일
  1. 문제
  2. datetime.datetimenp.datetime64pd.Timestamp로 변환
  3. np.datetime64datetime.datetimepd.Timestamp로 변환
  4. Timestampdatetimedatetime64로 변환
NumPy는 Datetime64를 Datetime.Datetime 또는 Timestamp로 변환합니다.

이 기사는 numPy.datetim64, datetime.datetimeTimestamp 간에 데이터를 변환하는 방법을 보여줍니다.

문제

데이터를 처리할 때 순서가 있든 없든 날짜와 시간을 만나는 것은 상당히 흔한 일입니다. 상황에 따라 시간과 날짜를 적절하게 처리하여 처리된 데이터가 원하는 형식이 되도록 해야 합니다.

코드 예:

import datetime
import numpy as np
import pandas as pd

dt = datetime.datetime(2022, 5, 21)
ts = pd.DatetimeIndex([dt])[0]
dt64 = np.datetime64(dt)

위의 코드에서 우리는 datetime, numpypandas라는 세 개의 모듈을 가져왔습니다. 각 모듈은 날짜 저장 및 처리를 위한 구현을 제공합니다(각각 고유한 사용 사례가 있음).

datetime.datetime()을 사용하여 datetime 인스턴스를 생성하고 dt라는 변수에 저장합니다. pandas의 경우 pd.DatetimeIndex() 메서드를 사용했습니다. 이 메서드는 n개의 datetime64 인스턴스를 저장하고 배열의 첫 번째 멤버에 액세스하여 Timestamp 인스턴스를 반환하는 불변 배열을 생성합니다.

pandas 모듈로 이동하여 datetime64() 메서드를 사용하여 datetime 인스턴스를 변환하고 dt64라는 변수에 저장합니다.

datetimeTimestampdatetime64 인스턴스로 쉽게 변환할 수 있습니다. 이 기사에서는 np.datetime64datetimeTimestamp 인스턴스로 변환하는 방법을 살펴보겠습니다.

datetime.datetimenp.datetime64pd.Timestamp로 변환

코드 예:

import datetime
import numpy as np
import pandas as pd

dt = datetime.datetime(
    year=2018, month=10, day=24, hour=4, minute=3, second=10, microsecond=7199
)

# convert datetime.datetime to np.datetim364
print(np.datetime64(dt))

# datetime.datetime to pd.Timestamp
print(pd.Timestamp(dt))

출력:

2018-10-24T04:03:10.007199
2018-10-24 04:03:10.007199

날짜 시간. 변환될 datetime64Timestamp의 생성자에 datetime 인스턴스를 전달하여 datetimedatetime64Timestamp로 변환합니다.

np.datetime64datetime.datetimepd.Timestamp로 변환

코드 예:

import datetime
import numpy as np
import pandas as pd

# np.datetime64 to datetime.datetime
dt64 = np.datetime64("2017-10-24 05:34:20.123456")
unix_epoch = np.datetime64(0, "s")
one_second = np.timedelta64(1, "s")
seconds_since_epoch = (dt64 - unix_epoch) / one_second

print(datetime.datetime.utcfromtimestamp(seconds_since_epoch))

# np.datetime64 to Timestamp
print(pd.Timestamp(dt64))

출력:

2017-10-24 05:34:20.123456
2017-10-24 05:34:20.123456

np.datetime64에서 datetime.datetime으로 변환하려면 먼저 datetime64 데이터를 초(epoch 형식)로 변환해야 합니다. 변환 후 초는 epoch 시간을 읽고 이를 datetime의 인스턴스로 변환하는 utcfromtimestamp라는 datetime 메서드로 전달됩니다.

np.datetime64에서 Timestamp로의 경우 상대적으로 간단합니다. np.datetime64 인스턴스를 Timestamp 생성자에 전달하기만 하면 됩니다.

Timestampdatetimedatetime64로 변환

코드 예:

import datetime
import numpy as np
import pandas as pd

ts = pd.Timestamp("2017-10-24 04:24:33.654321")

# Timestamp to datetime.datetime
print(ts.to_pydatetime())

# Timestamp to np.datetime64
print(ts.to_datetime64())

출력:

2017-10-24 04:24:33.654321
2017-10-24T04:24:33.654321000

이러한 함수의 도움으로 Timestamp는 단 한 번의 메서드 호출로 datetimedatetime64로 쉽게 변환될 수 있습니다. Timestamp에서 datetime.datetime으로 변환하려면 to_pydatetime() 메소드를 사용하십시오. Timestamp 인스턴스를 datetime으로 변환합니다. datetime 인스턴스.

Timestamp에서 datetime으로 변환하려면 to_datetime64() 메서드를 사용하세요. Timestamp 인스턴스를 np.datetime64 인스턴스로 변환합니다.

Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn