전체 글 55

[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' : '새로운 ..

[토이 데이터셋] Scikit-Learn 라이브러리의 Datasets 패키지

Scikit-Learn 라이브러리의 Datasets 패키지 일반적으로 모델의 학습에 사용할 데이터는 사용자가 직접 파일 형태로 다운을 받은 후에 코드상으로 불러와야 합니다. 하지만, Scikit-Learn 라이브러리에서는 함수의 형태로 몇개의 데이터를 손쉽게 가져올 수 있습니다. Scikit-Learn 라이브러리는 기계학습(Machine Learning, ML) 모델을 구현하는데 있어서 가장 많이 사용하는 라이브러리 중 하나이며, Scikit-Learn에서 제공하는 데이터에는 Toy Dataset과 Real World Dataset이 있습니다. Toy Dataset은 실제 모델을 학습하여 좋은 성능을 이끌어 내기에는 크기가 작은 데이터셋을 말합니다. 크기가 작기 때문에 일종의 장난감(Toy)처럼 다양한 ..

[Error Solution] TypeError: Expected Tensor's shape: __________, got __________

TypeError: Expected Tensor's shape: __________, got __________ Tensorflow 라이브러리에서 상수를 사용할 때는 tf.constant() 함수를 사용합니다. tf.constant() 함수는 기본적으로 입력한 값이 shape보다 작을때 값이 자동적으로 채워집니다. 하지만 tf.constant() 함수의 파라미터인 verify_shape가 True로 설정되어 있을 경우에는 자동적으로 항목이 채워지지 않기 때문에 위와 같은 에러가 발생합니다. verify_shape가 True로 설정되어 있는 경우에는 입력 값을 shape에 맞춰서 작성해야 하고, 혹은 verify_shape를 False로 설정해주면 해당 에러는 해결됩니다. python version: 3...

[Error Solution] OSError: [Errno 22] Invalid argument: '__________'

OSError: [Errno 22] Invalid argument: '__________' 코드 상에서 어떠한 파일을 저장하려고 할 때 가끔 이러한 에러 발생할 수 있습니다. 이 에러는 파일을 저장할 때 설정해주는 경로 혹은 파일의 이름에 들어가서는 안되는 문자가 들어갔을 때 발생하는 에러입니다. 파일의 이름에는 \, /, :, *, ?, ", , | 등의 문자들은 사용할 수 없습니다. 만약 파일의 이름에 이러한 문자가 들어가 있다면 해당 문자를 지워주어야 합니다. 해당 문자는 직접 수정해주어도 되지만 re 라이브러리의 sub() 함수를 사용해주면 쉽게 수정이 가능합니다. filename = re.sub("[\/:*?\"|]", "", filename) 를 넣어주면 입력된 filename 안에 있는 특수..

[Error Solution] TypeError: a bytes-like object is required, not 'str'

TypeError: a bytes-like object is required, not 'str' urllib 라이브러리를 사용하여 웹페이지를 연 후에, 웹페이지를 read() 함수를 읽을 때 해당 에러가 발생할 수 있습니다. 이 에러는 읽어들이는 웹사이트가 디코딩 되어있지 않기 때문에 발생하는 에러입니다. 따라서, 에러를 해결하기 위해서는 read() 함수 뒤에 .decode("utf-8")을 추가적으로 붙여주어야 합니다. python version: 3.7.13

반응형