[PYTHON] 주어진 날짜와 가장 가까운 날짜 찾기
PYTHON주어진 날짜와 가장 가까운 날짜 찾기
배열에 datetime 개체가 있는데 배열의 어떤 요소가 주어진 날짜와 가장 가까운 지 (예 : datetime.datetime (2014,12,16))를 찾고 싶습니다.
이 게시물은 주어진 날짜 이전이 아닌 가장 가까운 날짜를 찾는 방법을 보여줍니다. 이 코드를 변경하여 주어진 날짜 이전의 날짜를 반환 할 수 있습니까?
예를 들어 배열에 datetime.datetime (2014,12,10) 및 datetime.datetime (2014,12,28) 요소가있는 경우 이전 항목은 datetime.datetime (2014,12,16)에 가장 근접하므로 반환해야합니다. )를 절대 값으로 나타냅니다.
해결법
-
==============================
1.이 함수는 날짜 피벗에 가장 가까운 항목에서 datetime을 반환합니다.
이 함수는 날짜 피벗에 가장 가까운 항목에서 datetime을 반환합니다.
def nearest(items, pivot): return min(items, key=lambda x: abs(x - pivot))
좋은 부분은 유형이 비교, 뺄셈 및 복근을 지원하는 경우 상자 밖에서 날짜 / 시간과 다른 유형에서도 작동합니다 (예 : 숫자 및 벡터 유형).
-
==============================
2.이 링크 링크에 대한 응답으로 'truncate'기능이 있습니다.
이 링크 링크에 대한 응답으로 'truncate'기능이 있습니다.
df.truncate (before = '2012-01-07')
또는 '가장 가까운'옵션과 함께 get_loc을 사용할 수 있습니다.
df.iloc[df.index.get_loc(datetime.datetime(2016,02,02),method='nearest')]
-
==============================
3.
def nearestDate(base, dates): nearness = { abs(base.timestamp() - date.timestamp()) : date for date in dates } return nearness[min(nearness.keys())]
-
==============================
4.값 대신 가장 가까운 인덱스를 찾는 내 솔루션
값 대신 가장 가까운 인덱스를 찾는 내 솔루션
def nearest_ind(items, pivot): time_diff = np.abs([date - pivot for date in items]) return time_diff.argmin(0)
-
==============================
5.가장 가까운 날짜를 찾고 timedelta (두 날짜의 차이)를 반환하려면 다음을 수행했습니다.
가장 가까운 날짜를 찾고 timedelta (두 날짜의 차이)를 반환하려면 다음을 수행했습니다.
def nearest_date(items,pivot): nearest=min(items, key=lambda x: abs(x - pivot)) timedelta = abs(nearest - pivot) return nearest, timedelta
이것은 내가했던 것처럼 앱에 대한 근접성에 대한 최소 임계 값이있을 때 유용 할 수 있습니다.
from https://stackoverflow.com/questions/32237862/find-the-closest-date-to-a-given-date by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬에서 영어 수축 확장하기 (0) | 2018.10.23 |
---|---|
[PYTHON] SciPy / Numpy를 사용하여 Python에서 희소 행렬 연결 (0) | 2018.10.23 |
[PYTHON] 어떻게 사용자 정의 AdminSite 클래스를 사용합니까? (0) | 2018.10.23 |
[PYTHON] python : [Errno 10054] 기존 연결이 원격 호스트에 의해 강제로 닫혔습니다. (0) | 2018.10.22 |
[PYTHON] 한 객체의 장고 관리 페이지에서 관련 객체의 관리 페이지로 링크를 어떻게 추가합니까? (0) | 2018.10.22 |