반응형

분류 전체보기 17

python csv 처리, 파일 저장 - 파이썬에서 엑셀 데이터 처리!

데이터 분석을 할 때 방대한 양의 데이터 처리를 하기 위해서는 처리하기 쉬운 데이터의 형태로 표현할 필요가 있습니다. 이럴 때 보통 엑셀에서도 사용할 수 있는 .csv 파일 형태로 변환합니다. CSV 파일이란? CSV (comma-separated values) 파일은 일반적으로 간단한 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일이다. 출처: https://ko.wikipedia.org/wiki/CSV_(%ED%8C%8C%EC%9D%BC_%ED%98%95%EC%8B%9D) 먼저, 간단하게 csv 파일을 임의로 만들어 보겠습니다. 메모장으로 다음과 같이 만들어도 무방합니다. 저장할 때 주의할 점은 그대로 저장하면 엑셀에서 깨질 수 있으므로, ANSI 형식으로 인코딩하여 저장합니다. 저장된 .csv 파..

Python3 관련 2022.01.21

python3 - 파이썬으로 현재 시간 출력하기 datetime

개발하면서 다양한 코드를 작성하고 임시 저장하거나 많은 파일을 저장할 때 각자 다른 이름으로 저장해야 합니다. 하지만 이를 위해서 임의로 이름을 정해버리면 어떤 파일이 언제 만들어진 파일인지 알아내기가 힘듭니다. 만약에 파일에 시간을 넣는다면 해당 고민이 해결될 겁니다. 이번에는 파일에 시간을 넣어서 저장하는 방법에 대해서 알아보도록 하겠습니다. 먼저 datatime 라이브러리를 import 해줍니다. import datetime datetime을 통해서 저장할 당시에 현재 시간을 now 변수에 삽입해줍니다. now = datetime.datetime.now() 그러면 now 변수를 선언할 당시에 시간을 표기해줍니다. 마이크로 단위까지 표기해주네요. 그러면 한국사람이 알아보기 쉽게 시간을 한국 단위로 변..

Python3 관련 2022.01.21

Python & C, C++ 메모리 공유 / Python 메모리 관리

오늘은 python에서 메모리 관리에 관련한 내용에 대해 공유하고자 합니다. 임베디드 프로그래밍을 할 때 대부분 C, C++ 언어를 사용하여 작성합니다. 하지만 최근에는 임베디드 환경에서도 하드웨어의 성능이 개선되어 python을 적용시키기도 합니다. 따라서 기존에 C 혹은 C++로 컴파일된 프로그램에 Python을 접목시켜서 메모리 공유를 할 수 있다면 좋지 않을까 생각했습니다. 이에 관련하여 간단한 파이썬의 메모리 관리에 대한 내용을 요약하게 설명드리겠습니다. 본 내용은 파이썬 공식 documentation에서 참고하여 작성했습니다. https://docs.python.org/3/c-api/memory.html ▶간략 내용 요약 파이썬에서는 기본적으로 힙 영역을 사용하며, 동적 할당을 사용합니다. 힙..

Python3 관련 2022.01.19

[pycharm anaconda] 파이참에서 아나콘다 interpreter 환경 설정

파이참에서 아나콘다의 interpreter를 설정하는 방법에 대해 설명드리겠습니다. 일반적으로 아나콘다같은 환경을 사용하지 않으면 local에 여러 라이브러리를 설치해야 하기 때문에 컴퓨터가 지저분해질 수 있고 관리하기가 쉽지 않습니다. 따라서 아나콘다를 통해 환경을 분리해서 보통 사용하는데, python의 ide 환경으로 보통 pycharm을 사용하기 때문에 파이참에서 아나콘다 interpreter 환경을 구성하고 그 환경을 등록하는 방법에 대해 알아보도록 하겠습니다. 본 게시물은 windows 10 환경에서 기준으로 설명합니다. - Anaconda 다운로드 https://www.anaconda.com/products/individual 사이트에서 최신 아나콘다 설치 파일을 다운로드 합니다. Anaco..

Python3 관련 2022.01.18

[ROS noetic] AMCL(Adaptive Monte Carlo localization) 알고리즘 설명

로봇이 움질일 때 경로만 가지고는 로봇이 제대로 움직일 수 없습니다. 로봇이 움직이면서 현재의 위치를 알면서 경로를 탐색해야 비로소 제대로된 길을 찾아갈 수 있습니다. 이를 위해서 AMCL 알고리즘을 통해 로봇이 지도상에서 현재 위치를 알아내는 방법을 간략하게 설명드리겠습니다. AMCL(Adaptive Monte Carlo localization) 이란? paricle filter를 통해 위치를 파악하는 알고리즘 이동을 하면서 주변 환경을 라이다 센서, 초음파 센서 등 복합적인 센서를 통해 현재 위치를 파악함. ※ Particla filter 적용 방식 Re-sampling - 중요도 가중치를 통해 정의된 분포에 따라 무작위로 샘플 추출 Sampling Importance Sampling github 코..

ROS 2022.01.18

[ROS noetic] DWA(Dynamic Window Approach) local planner 알고리즘

ROS에서 길을 찾기 위한 planner 알고리즘 중 local planner 알고리즘으로 대표적으로 DWA(Dynamic Window Approach) 알고리즘이 있습니다. ROS에서 DWA의 의미 평면 상의 robot을 local navigation 하기 위함. 주어진 global planner와 costmap이 있으면 velocity command를 전달함. 블록 다각형, 원형으로 표시하는 모든 로봇 지원 launch 파일에서 파라메타 조정 파라메타들을 동적으로 재구성 가능 nav-core 내부의 Base Local Planner 인터페이스를 준수함 ☞ 알고리즘 설명 kinemetic trajectory를 생성하여 시작 지점에서 목표지점으로 이동할 수 있는 궤적(grid cell) 생성 grid c..

ROS 2022.01.18

우분투 프로그램 자동 부팅 (ubuntu auto start)

로봇과 같은 임베디드 환경에서는 사용자가 일일이 프로그램을 실행하지 않고 자동으로 프로그램이 부팅되기를 원할 때가 있습니다. 이때 우분투에서는 프로그램이 부팅하면서 자동으로 켜지도록 환경설정을 할 수 있습니다. 많은 자동 부팅 프로그램 등록 방법이 있지만 제가 시도했었던 방법을 알려드리도록 하겠습니다. /etc/ 폴더 내에 rc.local을 생성하는 방식 /etc/init.d 내에 시작 프로그램 등록 방식 systemctl 명령어를 활용한 프로그램 등록 방식 3가지의 순서로 설명드리겠습니다. /etc/ 폴더 내에 rc.local을 생성하는 방식 /etc/ 폴더 내에 rc.local을 생성하여 내부에 실행하고 싶은 프로그램을 쉘 스크립트 형식으로 작성합니다. #!/bin/sh /etc/test.sh exi..

리눅스 2021.10.31
반응형