파이썬/Code Solution 10

[Code Solution] 여러 파일에 대하여 작업 수행하기

여러 파일에 대하여 작업 수행하기 작업을 수행하는데 있어서 1개의 파일에 대해서만 작동하는 경우도 있지만, 여러 파일에 대하여 동일한 작업을 수행해야하는 경우도 있습니다. 작업을 수행해야하는 파일의 개수가 작을 때는 파일명을 일일이 쳐서 수행을 할 수 있지만, 파일의 개수가 많은 경우에는 파일명을 일일이 치기에는 힘이 듭니다. 이러한 경우에는 glob 라이브러리에서 제공하는 glob() 함수를 사용하면 손쉽게 모든 파일에 대하여 작업을 수행해줄 수 있습니다. glob() 함수 안에 작업을 수행해야하는 파일이 들어있는 경로를 입력해주면 파일의 이름 및 경로가 리스트 형식으로 반환됩니다. 이렇게 반환된 리스트를 이용한다면 작업을 손쉽게 수행할 수 있습니다. import pandas as pd import g..

[Code Solution] 파일 유무 확인하기

파일 유무 확인하기 파일을 저장할 때, 만약 같은 이름의 파일이 경로상에 이미 존재한다면 기존의 파일에 덮어 쓰게 됩니다. 이렇게 되면 기존에 존재하는 파일이 사라지기 때문에 이런 경우를 예방하기 위해서는 파일이 이미 존재하는지를 확인해야 합니다. 이러한 경우에는 os 라이브러리에서 제공하고 있는 isfile() 함수를 사용하면 손쉽게 확인이 가능합니다. isfile() 함수 안에 이미 존재하는지를 확인하고 싶은 파일의 경로를 넣으면 파일이 존재할 경우 True, 존재하지 않을 경우 False가 반환됩니다. import pandas as pd import os # data는 저장할 데이터프레임, path는 파일 경로 if os.path.isfile(path): pass else: data.to_csv(p..

[Code Solution] 데이터프레임을 다양한 형태로 저장하기

데이터프레임을 다양한 형태로 저장하기 pandas 라이브러리에서 제공하는 여러가지 함수를 사용하여 데이터프레임을 다양한 형태의 파일 형태로 저장해보겠습니다. pandas 라이브러리는 데이터프레임을 다양한 형태의 파일 형재로 변환하여 저장하는 함수들을 제공하고 있습니다. 아래의 표는 pandas 라이브러리에서 제공하고 있는 데이터프레임을 다양한 파일 형태로 저장하는 함수들을 요약한 것 입니다. 일반적으로 아래의 함수안에 파일의 경로를 입력해주면 손쉽게 데이터프레임을 다양한 형태의 파일로 저장할 수 있습니다. 파일 형태 함수 CSV to_csv() JSON to_json() HTML to_html() Clipboard to_clipboard() Excel to_excel() HDF5 to_hdf() SQL ..

[Code Solution] 파일을 데이터프레임 형태로 읽기

파일을 데이터프레임 형태로 읽기 pandas 라이브러리에서 제공하는 여러 가지 함수를 사용하여 다양한 형태의 파일들을 데이터프레임 형태로 읽어보겠습니다. pandas 라이브러리는 다양한 형태의 외부 파일을 읽어와서 데이터프레임으로 변환하는 함수들을 제공하고 있습니다. csv, json, html, excel 등 어떠한 형태의 파일이든 데이터프레임의 형태로 저장하고 나면, pandas 라이브러리의 다양한 함수들을 손쉽게 적용할 수 있습니다. 아래의 표는 pandas 라이브러리에서 제공하고 있는 다양한 형태의 파일을 읽는 함수들을 요약한 것입니다. 일반적으로 아래의 함수 안에 파일의 경로를 입력해주면 손쉽게 데이터프레임의 형태로 파일을 읽어 들일 수 있습니다. 파일 형태 함수 CSV read_csv() JS..

[Code Solution] 데이터프레임 특정 column/index 데이터 삭제하기

데이터프레임 특정 column/index 데이터 삭제하기 데이터프레임 형태로 제공되는 데이터를 사용하다보면, 특정 column 또는 index의 데이터를 삭제해야하는 경우가 발생할 수 있습니다. 이러한 경우에는 pandas 라이브러리의 데이터프레임에 기본적으로 내장되어 있는 drop() 함수를 사용하면 손쉽게 특정 comlun 또는 index의 데이터 삭제가 가능합니다. drop() 함수를 사용하여 데이터를 삭제하고 싶을 때, 특정 column의 데이터를 삭제하고 싶다면 내부에 column 이름 또는 column 이름으로 이루어진 리스트를 입력해준 후 axis 파라미터를 0으로 설정하면 되고, 특정 index의 데이터를 삭제하고 싶다면 내부에 index 이름 또는 index 이름으로 이루어진 리스트를 입..

[Code Solution] 데이터프레임 column/index 이름 변경하기

데이터프레임 column/index 이름 변경하기 데이터프레임 형태로 제공되는 데이터를 사용하다보면, column 또는 index에 설정되어 있는 이름이 마음에 들지 않거나, 보다 파악하기 쉬운 이름으로 변경하고싶은 경우가 있습니다. 이러한 경우에는 pandas 라이브러리의 데이터프레임에 기본적으로 내장되어 있는 rename() 함수를 사용하면 손쉽게 변경이 가능합니다. rename() 함수를 사용하여 이름을 변경할 때, column 이름을 변경하고 싶다면 내부에 columns={'바꾸고 싶은 이름1' : '새로운 이름1', '바꾸고 싶은 이름2' : '새로운 이름2'} 의 형태를 갖는 파라미터를 입력해주면 되고, index 이름을 변경하고 싶다면 내부에 index={'바꾸고 싶은 이름1' : '새로운 ..

[Code Solution] 폴더(디렉토리) 생성하기

폴더(디렉토리) 생성하기 os 라이브러리에서 제공하는 함수를 사용하여 폴더(디렉토리)를 생성해보겠습니다. os 라이브러리는 파이썬에 기본적으로 내장되어 있는 라이브러리로, 폴더 생성, 파일 유무 확인등 다양한 함수를 제공하고 있습니다. os 라이브러리에서 폴더(디렉토리)를 생성하는데 사용되는 함수는 크게 2가지가 있습니다. mkdir() 함수는 내부에 입력된 경로로 들어가서 1개의 폴더를 생성하는 함수이고, makedirs() 함수도 마찬가지로 입력된 경로의 모든 폴더를 생성하는 함수입니다. 좀더 간단하게 예를 들어보겠습니다. mkdir("./new_folder_A")를 실행시킨다면 폴더가 정상적으로 생성될 것입니다. 하지만 만약 new_folder_A가 없는 상태에서 mkdir("./new_folder..

[Code Solution] Tensorflow, Keras 모델 동일한 결과 얻기

Tensorflow, Keras 모델 동일한 결과 얻기 Deep Learning 모델을 구축할 때 Tensorflow, Keras 라이브러리를 많이 사용하고 있습니다. 하지만, Deep Learning 모델의 특성상 학습할 때마다 결과가 달라질 수 있습니다. 따라서, 동일한 결과를 얻기 위하여 random seed를 설정해 주어야 합니다. import tensorflow as tf import numpy as np import random random_seed = 42 random.seed(random_seed) np.random.seed(random_seed) tf.set_random_seed(random_seed) python version: 3.7.13 ※ 만약 위의 코드와 같이 random see..

[Code Solution] 올림, 내림, 반올림 하기

올림, 내림, 반올림 하기 파이썬에 내장된 round() 함수는 2개의 인자를 받아서, 소수 몇째 자리에서 반올림을 할지를 결정해줄 수 있습니다. 하지만, math 라이브러리에서 제공하는 ceil(), floor() 함수는 무조건 소수 첫째 자리에서 올림 혹은 내림을 해줍니다. 따라서, round() 함수와 같이 2개의 인자를 받아서, 소수 몇째 자리에서 올림 혹은 내림을 해줄지 결정할 수 있는 사용자 정의 함수를 구현해 보았습니다. import math # 올림 def myCeil(number, ndigits): number = number * math.pow(10, ndigits) number = math.ceil(number) number = float(number) / math.pow(10, nd..

[Code Solution] 연속된 숫자들로 이루어진 부분 리스트 찾기

연속된 숫자들로 이루어진 부분 리스트 찾기 list = [2, 3, 4, 5, 6, 7, 10, 11, 12, 15, 16, 17, 21, 22, 30, 31, 32, 33, 34] continuous_values_lists = [] current_continuous_values = [] value = list.pop(0) current_continuous_values.append(value) while(len(list) > 0): next_value = list.pop(0) if value+1 == next_value: current_continuous_values.append(next_value) value = next_value else: continuous_values_lists.append(cu..

반응형