IT skill/Python
-
shutil, glob 모듈을 이용해서 특정 경로에 있는 파일을 한번에 복사하는 스크립트를 짜보도록 하겠습니다. 많은 방법이 있지만 이번에는 shutil.copyfile 을 이용해서 복사해보려고 합니다. 복사하고자하는 폴더 경로 = ‘./source’ source 폴더 내 파일들은 .jpg .json 파일 여러개가 있다고 가정해봅시다. 복사하려는 파일들을 저장할 경로 = ‘./target .jpg .json 파일들을 target 폴더로 모두 복사해보겠습니다. import os from glob import glob import shutil def main(): source_dir = './source' target_dir = './target' source_paths = glob(os.path.join(..
Python 특정 폴더 내 파일들을 모두 복사하기shutil, glob 모듈을 이용해서 특정 경로에 있는 파일을 한번에 복사하는 스크립트를 짜보도록 하겠습니다. 많은 방법이 있지만 이번에는 shutil.copyfile 을 이용해서 복사해보려고 합니다. 복사하고자하는 폴더 경로 = ‘./source’ source 폴더 내 파일들은 .jpg .json 파일 여러개가 있다고 가정해봅시다. 복사하려는 파일들을 저장할 경로 = ‘./target .jpg .json 파일들을 target 폴더로 모두 복사해보겠습니다. import os from glob import glob import shutil def main(): source_dir = './source' target_dir = './target' source_paths = glob(os.path.join(..
2023.08.18 -
DataFrame 조건문을 쓰는 방법에 대해 공유하고자 합니다. 특정 column(열) 에서 특정 value(값)을 가진 row(행)을 가져오고자 할 때 많이 쓰는 방법입니다. 예시로 dataframe을 하나 만들어서 여러 조건문을 붙여보겠습니다. import pandas as pd df1 = pd.DataFrame(columns=['id', 'values', 'condition'], data=[ ['a', 123, 'wow'], ['b', 234, 'nooo'], ['c', 345, 'wow'], ['d', 567, 'good'] ] ) df1의 값은 이렇게 됩니다. 여기서 values의 값이 123인 행을 가져와 보겠습니다. # "values" column 중 123 값을 가진 row를 가져온다 co..
Pandas Dataframe 조건문 쓰는 방법DataFrame 조건문을 쓰는 방법에 대해 공유하고자 합니다. 특정 column(열) 에서 특정 value(값)을 가진 row(행)을 가져오고자 할 때 많이 쓰는 방법입니다. 예시로 dataframe을 하나 만들어서 여러 조건문을 붙여보겠습니다. import pandas as pd df1 = pd.DataFrame(columns=['id', 'values', 'condition'], data=[ ['a', 123, 'wow'], ['b', 234, 'nooo'], ['c', 345, 'wow'], ['d', 567, 'good'] ] ) df1의 값은 이렇게 됩니다. 여기서 values의 값이 123인 행을 가져와 보겠습니다. # "values" column 중 123 값을 가진 row를 가져온다 co..
2023.08.08 -
Dataframe을 다루다보면 여러 파일로 나눠진 csv 파일 같은 것들을 하나로 합치고 싶을 때가 종종 생겼습니다. df append를 은근히 내 입맛에 맞게 찾기가 힘들더라구요. 그래서 많은 방법이 있겠지만 그 중 제가 썼던 방법을 공유하고자 합니다. 우선 데이터를 만들어 보겠습니다. df1, df2는 합칠 dataframe이고 df는 df1, df2를 담을 dataframe입니다. import pandas as pd df = pd.DataFrame(columns=['id', 'elements']) df1 = pd.DataFrame(columns=['id', 'elements'], data=[['a', 123],['b', 234], ['c', 345]]) df2 = pd.DataFrame(column..
Pandas Dataframe row append 방법 중 하나 공유Dataframe을 다루다보면 여러 파일로 나눠진 csv 파일 같은 것들을 하나로 합치고 싶을 때가 종종 생겼습니다. df append를 은근히 내 입맛에 맞게 찾기가 힘들더라구요. 그래서 많은 방법이 있겠지만 그 중 제가 썼던 방법을 공유하고자 합니다. 우선 데이터를 만들어 보겠습니다. df1, df2는 합칠 dataframe이고 df는 df1, df2를 담을 dataframe입니다. import pandas as pd df = pd.DataFrame(columns=['id', 'elements']) df1 = pd.DataFrame(columns=['id', 'elements'], data=[['a', 123],['b', 234], ['c', 345]]) df2 = pd.DataFrame(column..
2023.08.04 -
np.partion으로 topk를 뽑고 싶을 때 np.partition은 내가 정한 경계를 기준으로 리스팅을 해준다. 예를 들어서, A = array([1, 2, 3, 4, 5, 6, 7]) A에서 높은 3가지 숫자를 뽑고 싶을 때는 ind = np.partition(A, -3) 이런식으로 작성하면 ind는 ind = array([1, 2, 3, 4, 5, 6, 7]) ind = array([1, 2, 3, 4, 6, 5, 7]) ind = array([3, 2, 4, 1, 6, 5, 7]) 같이 될 수 있다. 이런식으로 숫자를 오름차순이나 내림차순으로 정하지 않으며, 내가 정한 기준으로 기준을 넘는 것과 못 넘는 것들만 정렬해준다고 생각하면 된다. 위의 ind 변수의 3가지를 보면 np.partitio..
np.partition으로 topk 추출하기np.partion으로 topk를 뽑고 싶을 때 np.partition은 내가 정한 경계를 기준으로 리스팅을 해준다. 예를 들어서, A = array([1, 2, 3, 4, 5, 6, 7]) A에서 높은 3가지 숫자를 뽑고 싶을 때는 ind = np.partition(A, -3) 이런식으로 작성하면 ind는 ind = array([1, 2, 3, 4, 5, 6, 7]) ind = array([1, 2, 3, 4, 6, 5, 7]) ind = array([3, 2, 4, 1, 6, 5, 7]) 같이 될 수 있다. 이런식으로 숫자를 오름차순이나 내림차순으로 정하지 않으며, 내가 정한 기준으로 기준을 넘는 것과 못 넘는 것들만 정렬해준다고 생각하면 된다. 위의 ind 변수의 3가지를 보면 np.partitio..
2023.06.06 -
물체의 경계선을 찾고 그리는 방법입니다. contour의 좌표가 이미 있다면 (annotation이 있는 경우) cv2.drawContours에 좌표를 바로 넣으시면 됩니다. import cv2 import numpy as np import matplotlib.pyplot as plt # 이미지 로드 # 그레이스케일로 변환 img = cv2.imread("opencv/경계선검출/testimg.png", cv2.IMREAD_GRAYSCALE) img_resize = cv2.resize(img, (450, 200)) img_resize_copy = img_resize.copy() # 정확도를 높이기 위해 binary 이미지로 변환 # 픽셀의 밝기값이 125이상이면 255, 아니면 0 # 도형픽셀의 밝기가 1..
opencv 경계선 찾기/그리기 (cv2.findContours / cv2.drawContours)물체의 경계선을 찾고 그리는 방법입니다. contour의 좌표가 이미 있다면 (annotation이 있는 경우) cv2.drawContours에 좌표를 바로 넣으시면 됩니다. import cv2 import numpy as np import matplotlib.pyplot as plt # 이미지 로드 # 그레이스케일로 변환 img = cv2.imread("opencv/경계선검출/testimg.png", cv2.IMREAD_GRAYSCALE) img_resize = cv2.resize(img, (450, 200)) img_resize_copy = img_resize.copy() # 정확도를 높이기 위해 binary 이미지로 변환 # 픽셀의 밝기값이 125이상이면 255, 아니면 0 # 도형픽셀의 밝기가 1..
2023.04.02 -
파이썬을 사용하다보면 파일 리스트를 가져와서 다룰일이 참 많은 것 같습니다. 파일 리스트를 다루기 유용하고 제가 자주쓰는 함수를 정리해봤습니다. 물론 다른 좋은 것들이 많을 것이고, 새로운 것들을 알게 되면 글이 추가될 수도 있습니다😀 glob glob 함수는 리눅스식 경로 표기법을 사용하여 원하는 폴더/파일 리스트를 얻을 수 있습니다. 경로까지 추출해주어 다루기 편리합니다. 아래 예제를 보면서 이야기 하겠습니다. D드라이브 내에 d라는 이름의 폴더를 만들고 그 폴더 내에 1, 11, 111, 1111, 11111 폴더 다섯개를 만들었습니다. 모든 하위 폴더/파일을 선택할 때는 * 기호로 선택할 수 있습니다. *은 리눅스에서 모두 선택을 의미하는 기호입니다. from glob import glob dir..
python 파이썬 파일 리스트 가져오기 (glob)파이썬을 사용하다보면 파일 리스트를 가져와서 다룰일이 참 많은 것 같습니다. 파일 리스트를 다루기 유용하고 제가 자주쓰는 함수를 정리해봤습니다. 물론 다른 좋은 것들이 많을 것이고, 새로운 것들을 알게 되면 글이 추가될 수도 있습니다😀 glob glob 함수는 리눅스식 경로 표기법을 사용하여 원하는 폴더/파일 리스트를 얻을 수 있습니다. 경로까지 추출해주어 다루기 편리합니다. 아래 예제를 보면서 이야기 하겠습니다. D드라이브 내에 d라는 이름의 폴더를 만들고 그 폴더 내에 1, 11, 111, 1111, 11111 폴더 다섯개를 만들었습니다. 모든 하위 폴더/파일을 선택할 때는 * 기호로 선택할 수 있습니다. *은 리눅스에서 모두 선택을 의미하는 기호입니다. from glob import glob dir..
2021.12.21