반응형

Python 380

구글 코랩(Colab)에서 파일을 업로드하는 3가지 방법

Google Colaboratory 파일 불러오기 방법 정리 구글 코랩을 사용할 때 코딩 환경 내에 텍스트, 이미지 등의 파일을 올리는 대표적인 방법 3가지를 정리해보도록 하겠습니다. 1. 로컬 환경에서 직접 드래그 가장 간단한 방법으로 로컬 환경에서 원하는 파일을 드래그하여 코딩 환경 내에 파일을 불러오는 방법입니다. 먼저, 코랩을 실행 후 왼쪽의 폴더 모양 아이콘을 클릭해줍니다. 이후, 원하는 파일을 드래그하여 좌측 아래의 빈 공간에 놓거나 혹은 가장 왼쪽의 화살표 모양이 그려진 버튼을 클릭하여 직접 파일을 지정해줍니다. 원하는 파일이 아래처럼 파일 목록에 잘 존재하면 업로드가 완료된 것입니다. 해당 방법의 장단점은 다음과 같습니다. 장점 : 가장 간편하다. 단점 : 파일이 너무 큰 경우 업로드가 어..

Python/Utils 2022.08.23

파이썬 활용 pdf 파일 내 텍스트 추출 방법 정리(pypdf2, tika)

Python pdf text 읽기 파이썬으로 pdf 파일에서 텍스트를 추출해내는 방법에 대하여 다루어보도록 하겠습니다. 여기에는 매우 다양한 방법이 있지만 여기서는 간편한 방법 예시 2가지로 pypdf2 모듈과 tika 모듈을 활용한 예제를 살펴보겠습니다. 이 두 모듈이 설치되어 있지않다면 먼저 아래 명령어로 사용할 모듈을 설치해주세요. !pip install pypdf2 !pip install tika 아래의 매우 간단한 텍스트 두 줄이 있는 pdf_1.pdf 파일을 예시로 설명하겠습니다. pypdf2 모듈 활용 방법 먼저, PdfFileReader를 활용하여 아래의 형식으로 파일 디렉토리와 읽기 모드(rb) 부분을 지정해줍니다. from PyPDF2 import PdfFileReader pdf1 = ..

Python/Utils 2022.08.22

파이썬 예약어 종류 출력 방법, 예약어의 의미(변수명 지정 불가)

Python 예약어 확인하기 / 예약어란? 현재 버전의 파이썬에서 예약어의 종류를 출력해보고 예약어가 갖는 의미에 대하여 정리해보도록 하겠습니다. 예약어 종류 print 방법 파이썬에서 예약어 종류를 출력하는 방법은 간단합니다. keyword 모듈을 import한 뒤, kwlist 속성을 출력해주시면 됩니다. import keyword print(keyword.kwlist) # 출력 결과 예시 : 파이썬의 버전마다 약간씩 다를 수도 있습니다. ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', ..

[Pandas] 판다스 설치 / 버전 확인 / 버전 변경(업데이트, 다운그레이드) 방법 정리

판다스 모듈 설치, 버전 체크 및 변경 pandas 라이브러리를 install하는 명령어를 알아보고 설치된 판다스 모듈의 version을 확인하는 방법과 해당 모듈을 업그레이드 및 다운그레이드 하는 방법에 대하여 정리해보도록 하겠습니다. 판다스 설치 방법 pip을 이용하여 쉽게 pandas 모듈의 설치가 가능합니다. 설치 명령어의 예시는 아래와 같습니다.(기본 / 버전 지정 예시) # 설치 기본 명령어 !pip install pandas # 버전 지정 설치 명령어(1.3.5 버전 지정 예시) !pip install pandas==1.3.5 판다스 버전 체크 방법 설치된 pandas 모듈의 version을 확인하는 방법은 라이브러리 import 후 __version__ 속성을 통해서 확인해주시면 됩니다. ..

Python/Pandas 2022.08.15

[Pytorch] 텐서를 넘파이 배열, 리스트로 변환하는 방법 정리

파이토치 tensor를 numpy array나 list로 바꾸기 파이썬 파이토치에서 tensor 자료형을 넘파이 배열 또는 리스트 자료형으로 변환하는 방법에 대하여 케이스별로 정리해보도록 하겠습니다. 1. 기본 텐서의 경우 : numpy() / tolist() 먼저, grad 정보가 없고 gpu에 선언되지 않은 가장 기본적인 텐서의 경우입니다. 아래와 같은 예시의 tensor를 형변환해보도록 하겠습니다. data1 = torch.randn(3, 2) data1 # 출력 결과 tensor([[-0.2370, -1.4314], [-0.7539, 0.5552], [-1.1405, -0.4047]]) 넘파이 배열 자료형으로 바꾸려면 tensor.numpy() 형태로 지정해주시면 됩니다. data1.numpy()..

Python/Pytorch 2022.08.12

[OpenCV] 파이썬 사물 인식(Object Detection) 실습 코드 예제

Python OpenCV object detection example 파이썬에서 OpenCV의 기능을 활용하여 이미지 내 사물 검출 결과를 쉽게 반환받을 수 있는 방법을 예시를 통해서 간략하게 정리해보도록 하겠습니다. 먼저, 이번 예제에서 사용할 이미지 파일을 불러와 출력해보도록 하겠습니다. (이미지의 출처는 pixabay에서 가져왔습니다.) from IPython.display import Image, display path = "cat_dog.jpg" # 사진 파일의 디렉토리 display(Image(filename = path)) 이제 강아지와 고양이가 여러 마리씩 있는 위의 이미지 파일에서 dog, cat 그림의 위치를 인식하여 해당 위치 부분에 직사각형 모양의 box를 label 이름과 함께 그..

Python/Vision Code 2022.08.11

[Matplotlib] 파이썬 그래프 회전 방법 예제

Python plt graph rotation code 파이썬에서 matplotlib을 통하여 그린 그래프를 회전하는 방법을 알아보도록 하겠습니다. 먼저, 아래와 같이 간단한 선 그래프 및 산점도가 있다고 가정해보겠습니다. import matplotlib.pyplot as plt plt.plot(range(1, 6), range(1, 6), color = 'blue') plt.scatter([1, 2, 3, 4, 5], [2, 5, 4, 1, 3], color = 'red') plt.show() 그래프 회전하기 코드 해당 그래프를 원하는 각도로 회전하기 위해서는 아래 코드의 transdata와 rotote 부분을 지정하고, 회전을 원하는 그래프의 transform 인자에 rotate + transdata..

Python/Matplotlib 2022.08.09

[Numpy] 파이썬 배열 회전 함수 : np.rot90

Python 넘파이 배열 회전 함수 사용법 파이썬에서 배열을 회전한 결과를 쉽게 반환받을 수 있는 넘파이 모듈의 rot90 함수의 사용 방법에 대하여 간략하게 다루어보겠습니다. 참고로, 해당 글은 numpy.rot90 함수의 공식 document의 내용을 기반으로 작성하였습니다. 2차원 배열 예시 np.rot90 메소드의 사용법은 (input array, 회전 횟수)로 인자를 지정하는 형태로 간단합니다. 이 때, 회전의 기준은 횟수 1회당 반시계 방향으로 90도씩 회전하도록 되어있습니다. (즉, 4로 나눈 나머지만 중요하며, 0, 4 등 숫자 지정 시 기존 array가 그대로 반환됩니다.) import numpy as np a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]..

Python/Numpy 2022.08.08

TypeError: Object of type int64 is not JSON serializable 해결

JSON 관련 TypeError 디버깅(return 값 인식 오류) 프로그래머스 등의 코딩 테스트 연습 사이트에서의 답안 제출 과정과 같이 return 결과를 다른 곳에 보낼 때 발생할 수 있는 TypeError 종류에 대한 원인과 해결법을 살펴보도록 하겠습니다. 오류 상황 예시 및 원인 예를 들어, 두 정수 리스트 간의 내적값을 구하는 문제에 대하여 아래처럼 답안을 제출한 경우 return되는 값은 분명히 정답으로 제출되는 듯 하지만 아래와 같은 에러가 발생합니다. (에러 메시지 : TypeError: Object of type int64 is not JSON serializable) 예상되는 원인으로는 np.dot 함수의 출력 결과는 numpy.int64 자료형인데 기본 int 자료형과는 다르게 해당..

Python/Debugging 2022.08.07

파이썬 pop의 시간 복잡도에 대한 고찰(맨 뒤, 중간, 맨 앞 위치 비교 및 remove/del과의 비교)

Python pop() 함수의 시간 복잡도는 O(1)인가? 파이썬으로 원소를 제거하는 pop 함수의 시간 복잡도는 흔히 O(1)으로 알려져있지만 이 사항에는 맨 뒤 원소를 제거하는 상황이라는 조건이 반드시 필요합니다. 이번 글에서는 이에 대한 고찰을 간단한 예시 비교를 통하여 진행해보도록 하겠습니다. 1. 맨 뒤 위치 원소 pop : O(1) pop 함수를 pop()처럼 default 인자로 사용할 경우 맨 뒤 위치(-1번 인덱스)가 자동으로 지정되어 사용되는데, 이 경우는 맨 뒤의 원소만 제거하고 기존 원소들은 그대로 놓아둘 수 있으므로 O(1)의 시간 복잡도가 맞습니다. 1천만개의 원소를 가진 리스트에서 1만번 pop을 진행시켜본다면 실제로 아래와 같이 약 0.002초 만에 완료된 모습을 볼 수 있습..

반응형