728x90

분류 전체보기 428

[python/scipy] scipy.interpolate.interp2d를 이용한 2차원 데이터 보간

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용이 있으면 지적해주시면 감사하겠습니다. 시작하기에 앞서 이번 포스트에서는 Python의 수치 분석 라이브러리인 SciPy의 interpolate.interp2d 클래스를 사용해 2차원 형태의 데이터를 보간하는 방법에 대해서 해설하도록 하겠다. 보간의 옵션이나 실제 보간 예에 대해서 다룰 것이다. 또한, SciPy에서 interpolate.interp2d와 동일하게 2차원 데이터를 보간하는 interpolate.griddata도 있지만, 이것은 함수이다. interp2d 클래스 interpolate.interp2d 클래스는 다음과 같이 정의되어 있다. interp2d(x, y, z, kind='linear', ..

IT/언어 2022.08.04

vtk 파일 포맷

vtk 파일이란? vtl 파일은 형태나 속성을 포함한다. 파일명의 확장자가 ".vtk"이다. 텍스트와 바이너리로 기재되어 있지만, 이번 포스트에서는 텍스트로 기재된 경우에 대해서만 설명하도록 하겠다. 참고로 파일의 모든 대문자 단어는 키워드로, 소문자 단어는 유저 지정을 의미한다. 헤더 파일의 맨 앞 머리는 다음과 같이 작성되어 있다. # vtk DataFile Version 2.0 Header ASCII DATASET UNSTRUCTURED_GRID 첫 번째 행은 파일의 종류를 나타내고 있다. Header의 부분은 임의의 문자열을 쓸 수 있다. "ASCII"는 모두 텍스트로 기재되도록 지정하는 것이다. "DATASET" 의 "UNSTRUCTURE_GRID"는 비구조 격자 데이터라는 것을 의미한다. 형태..

IT/기초 지식 2022.08.03

[python] python의 datetime으로 날짜, 시간 ⇔ 문자형 데이터 변환(strtime, strptime)

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용이 있다면 지적 부탁드립니다. python의 표준 라이브러리 dattime을 사용하여 날짜(날짜나 시간) 데이터를 처리할 수 있다. 날짜와 문자열을 상호 변환하는 메소드 strtime()과 strptime()으로 다양한 포맷의 날짜나 시간을 조작할 수 있다. 또한, 뺄셈이나 덧셈등의 연산도 가능하다. 예를 들어 10일 전이라던가 3주 이후의 날짜나 50분후의 사간 등 간단한 계산도 할 수 있다는 것이다. 이번 포스트에서 다룰 내용은 다음과 같다. datetime.datetime : 일시(날짜와 시간) datetime.date : 날짜 datatime.time : 시각 datetime.timedelta : 시간..

IT/언어 2022.07.31

[python] 순서를 지정할 수 있는 dictionary ; OrderedDict의 사용법

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. Python의 사전형(dict형 오브젝트) 데이터는 요소의 순서를 갖고 있지 않다. Python의 3.6버전부터는 순서를 가지고 잇지만, 구현하는 방식에 의존하므로 구현하는 방식에 따르게 된다. 3.7 버전부터는 언어 사양 자체적으로 순서가진 사전형 데이터가 되는듯하다. 한편 표준 라이브러리인 collections 모듈에는 순서를 가진 사전형 데이터를 사용할 수 있도록 OrderDict가 준비되어 있다. collections 모듈을 import한다. 표준 라이브러리에 포함되어 있으므로 별도의 설치는 필요하지 않다. import collections import 구문은 아래와 같..

IT/언어 2022.07.26

[python] 시간을 10분 단위로만 기록되도록 하기(시간 내림)

Django 프로젝트중 현재의 시간 데이터를 10분 단위로 기록되도록 해야 할 필요성이 있었기에(예를 들어, 데이터 기록 당시의 시간이 12시 58분 12초라면 DB에는 12시 50분 0초로 기록되도록) 그러한 기능을 구현할 수 있는 코드를 조사해 간단하게 정리해봤다. 정말 짧은 포스트가 될 것이다. 코드 3줄로 단순하다. from datetime import datetime INTERVAL_MINUTE = 10 time = datetime.strptime('2022년7월24일 12시59분1초', '%Y년%m월%d일 %H시%M분%S초') tmp = time.replace(minute=time.minute - time.minute % INTERVAL_MINUTE, second=0, microsecond=0..

IT/언어 2022.07.24

[Django] Django에서 static file(정적파일) 다루기

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용이 있으면 지적 부탁드립니다. Django의 튜토리얼에서 잘 이해가 되지 않았던 settings.py에 기재하는 STATICFILES나 STATIC_ROOT, STATIC_URL에 대해서 가능한 알기 쉽게 설명해둔 외국 블로그 글이 있었기에 이번 포스트를 통해서 정리하고자한다. STATICFIELS_DIRS 각각의 어플리케이션이 나니, 톱 페이지에 표시하는 이미지등을 보관하는 임의의 장소를 Django에서 찾을 수 있도록 지정하는 것이 STATICFILES_DIRS이다(여기서는 가상으로 프로젝트 디렉토리 바로 아래에 "assets"이라는 폴더를 작성했다). STATICFILES_DIRS = [ os.path...

IT/WEB 2022.07.21

[python] 일본 기상청 API 사용하기

프로젝트 중 일본 기상청 API를 사용할 일이 생겼으므로, 이번 포스팅을 통해 일본 기상청 API를 어떻게 하면 호출할 수 있는지 간단히 정리하고자 한다. 데이터의 종류 Area 코드(pathCode) 정보 https://www.jma.go.jp/bosai/common/const/area.json 도쿄는 130000이다. 컨트롤 + F 키로 해당 지역을 검색하면 더 빠르게 지역 코드를 찾을 수 있을 것이다. 일본 기상청에서 제공하고 있는 컨텐츠 정보 https://www.jma.go.jp/bosai/common/const/contents.json 날씨 코드 https://plaza.rakuten.co.jp/rabbit77/3000/ 호출된 api를 살펴보면 날씨가 200, 201과 같은 코드로 기재되어 ..

IT/기초 지식 2022.07.19

[Django] 일대다 관계 구축하기:ForeignKey (카테고리, 댓글, 대댓글 등)

※일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 직역, 의역이 있을 수 있으며 틀린 내용은 지적 부탁드립니다. 일대다 관계를 구축할 수 있으면, 토픽에 카테고리를 추가하거나 토픽에 댓글을 작성할 수 있게 된다. 이번 포스트에서는 이 방법에 대해 일대다 원리에서 부터 Django의 models.py 작성법까지 설명한다. 일대다 구조 일대다를 한 마디로 설명하자면 프로 야구 팀과 팀에 소속되어 있는 관계라고 할 수 있다. 프로 야구 침은 여러 명을 선수를 보유하고 있으며, 선수의 경우 어떠한 한 개의 팀에 소속되어 있다. 이러한 경우 야구 구단쪽은 일, 선수쪽은 다가 된다. DB 테이블로 표시하자면 다음과 같다. 일대다 관계의 장점 직접 소속처를 문자열로 적는 것보다 일대다관계로 만드는 쪽이 장점이 ..

IT/WEB 2022.07.11

[Django] 페이지네이션(페이징)

※ 일본의 한 블로그 글을 번역한 포스트입니다. 직역 및 오역, 의역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 대량의 데이터 목록을 표시할 경우 여러 개의 페이지로 나눠서 표시하게 된다. 이 때 Django의 경우, 페이지네이션(페이징)이라는 기술이 사용된다. 예를 들어, Web 어플리케이션에서 자사의 유저 목록을 표시하는 경우, 유저가 10명 정도라면 문제없다. 그러나 몇 백명인 경우, 페이지를 나눠서 목록을 표시하는 것이 사용하기나 읽기에 편리하다. 또한, 블로그 포스트의 수가 100개 이상인 경우 1개의 페이지에 포스트 모두를 표시하는 경우는 없다. Django의 페이지를 여러 개로 나누는 페이지 네이션(페이징)을 사용하여 한 화면에 표시하는 데이터 수를 제한해보자. 설명할 때 사..

IT/WEB 2022.07.09

[Django] Form의 cleaned_data 그리고 is_valid()시 호출되는 메소드의 순서

※ 일본의 블로그 글을 번역한 포스트입니다. 오역 및 직역, 의역이 있을 수 있으며 틀린 내용이 있으면 지적해주시면 감사하겠습니다. Django의 Form 관련 코드를 보면 종종 cleaned_data가 기재되어 있는 경우가 있다. Django의 Form에서 사용하는 cleaned_data에 대해서 이것이 어떤 것인가 그리고 어떠할 때 사용하는가에 대해서 해설하도록 하겠다. 그리고 추가로 is_valid() 일 때 호출되는 메소드의 순서 등에서도 간단하게 알아보도록 하겠다. cleaned_data이란? cleaned_data는 form 안에서 validate된 후에, 즉 검증된 후의 적당한 데이터가 들어 있는 변수가 cleand_data이다. 즉 Form의 처리 흐름으로 설명하자면 다음과 같다. 1. f..

IT/WEB 2022.07.03
728x90