Dev/Python [python] 파이썬으로 날짜가 무슨 요일인지 구하기 파이썬으로 특정 날짜가 무슨 요일인지 구하는 방법입니다. 매우 쉽습니다! 일단 가지고 있는 날짜데이터가 문자열이라면 datetime형으로 변경해줍니다. 저는 오늘날짜인 2021년 10월 21일을 넣었어요. 오늘은 목요일이구요! 1 2 3 4 5 6 from datetime import datetime date = '2021-10-21' #목요일 datetime_date = datetime.strptime(date, '%Y-%m-%d') print(datetime_date) print(type(datetime_date)) 날짜의 타입을 datetime형으로 변경했습니다. datetime형 날짜 뒤에 .weekday()를 붙이면 해당 날짜의 요일 번호를 알 수 있어요. 0은 월요일, 1은 화요일, 2는 수요.. By domdomi · 2021. 10. 22.
Dev/Python [pandas] 좌표계 x,y행 모두 다른 좌표계로 변경하는 방법 우리나라 좌표계는 일반적으로 wgs84 좌표계(epsg:4326)를 사용합니다. epsg:5179, TM128 등 다른 좌표계에서 epsg:4326 좌표계로 변경하고 싶은경우 어떻게 변경해야 하는지 알아보겠습니다! 일단 파이썬에서의 기본적인 좌표계변경방법입니다. pyproj를 임포트 시키고 transform 파라미터에 변경전 좌표계, 변경하고자하는 좌표계, x값, y값을 넣어주면 됩니다. 1 2 3 4 5 6 7 8 9 from pyproj import Proj, transform epsg5179= Proj(init="epsg:5179") wgs84=Proj(init='epsg:4326') x1, y1 = transform(epsg5179, wgs84, 변경하고자하는 x값, 변경하고자하는 y값) prin.. By domdomi · 2021. 10. 21.
Dev/Python [python] 값 비교하여 증가율, 하락률(%) 알아내기 (전년, 전월대비 등) 두 개의 값을 비교해서 증가율 또는 하락률을 리턴하는 함수입니다 v1 (이전값), v2 (이후값) v1에 비해 v2는 얼마나 증가/하락하였는가? 1 2 3 4 5 6 7 8 9 10 def compare(v1, v2): if v1 v2 일 때 얼마나 하락했는지 % except: value = -100 # v2가 0으로 하락했을 때 (-100%) else: # 값이 같으면 0% 증감 value = 0 return value By domdomi · 2021. 10. 20.
Dev/Python [django] 장고에서 사용자가 업로드한 파일 저장하는 방법 장고에서 사용자가 업로드한 파일 저장하는 매우매우 쉬운 방법입니다! models.py를 사용하지 않고 바로 views.py에서 파일을 저장하는 방법이에요. 일단 html에서 form태그에 enctype="multipart/form-data" 속성을 달아주세요. enctype 속성은 form의 데이터가 서버로 제출될 때 해당 데이터가 인코딩되는 방법을 명시합니다. {% csrf_token %} 파일 저장 이제 form 데이터를 받는 views.py 파일을 열고, FileSystemStorage를 임포트해주세요. FileSystemStorage는 별도의 파라미터 없이 생성하면 파일이 저장되는 디렉토리의 경로는 settings.py의 MEDIA_ROOT입니다. 아까 form에 있던 file을 request.F.. By domdomi · 2021. 10. 18.
Dev/Python [pymongo] 몽고DB 인서트 되어있는 값에 원하는 수 곱하기 value 컬럼에 25를 곱해서 update하는 방법! db.collection.update( {}, [{ $set: { value: { $multiply: [ 25, "$value" ] } } }], { multi: true } ) By domdomi · 2021. 10. 14.
Dev/Python [오류해결] re.findall 사용 시 TypeError: expected string or bytes-like object 오류 import re import requests as req from bs4 import BeautifulSoup as bs headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36', 'Referer': 'http://www.mydlink.co.kr/2013/beta_board/pds.php' } res = req.get("http://www.mydlink.co.kr/2013/beta_board/pds.php", headers=headers) soup = bs(res.text, 'lxml') script = s.. By 알 수 없는 사용자 · 2021. 10. 13.
Dev/Python [정규화] 최소값과 최대값을 이용하여 0~1 사이 범위의 값으로 변환하기 값 리스트를 0~1 사이 범위의 값으로 변환하는 정규화 방법입니다. 예를 들기 위해 아래처럼 number file을 만들어놨어요. 파이썬에서는 0~1 사이 범위의 값으로 변환해주는 함수를 제공해줍니다. sklearn.preprocessing.minmax_scale() 엄청 쉬워요. 일단 함수 사용을 위해 임포트를 해주고, minmax_scale함수에 변환하고자하는 값을 넣어주면... 끝! from sklearn.preprocessing import minmax_scale minmax_scale(file) 알아서 0~1값으로 변환된 형태를 볼 수 있어요. pandas dataframe, numpy.array 모두 사용 가능합니다. 만약 sklearn 모듈이 설치되어 있지 않을 경우에는 아래와 같이 관련 모.. By domdomi · 2021. 10. 13.
Dev/Python [pandas] CSV파일 원하는 줄 만큼만 파일 열기 아래처럼 예시로 pd.DataFrame을 만들어놨어요. pd.read_csv 파라미터에 nrows=원하는행까지를 넣어주면 됩니다. 저는 행을 3개밖에 안넣어놨기 때문에 2를 넣어봤어요. 2개만 불러와지네요. 원하는행까지 읽고서, 다음에 파일열때는 그 행부터 읽고싶을 때는 skiprows를 사용해주면 됩니다. 첫번째 행은 건너뛰고, 데이터는 1개만 읽어오고 싶을 때 (nrows=1) 아래와 같이 domdom2부터 불러와지고, domdom3도 있지만 nrows=1로 설정했기 때문에 domdom2까지만 출력되는 것을 볼 수 있죠. 데이터 수가 많고, 용량이 큰 데이터를 읽을 때 유용할 것 같네요. 몇줄씩만 읽어서 처리가능하니까요. 끝입니다.! By domdomi · 2021. 10. 12.
Dev/Python [pandas] 판다스 데이터프레임 파일 Unnamed: 0 없이 열기 파이썬에서 판다스로 CSV파일 열때 Unnamed: 0 같이 뜨는거 너무 짜증나거든요 구글링해서 안뜨게 불러오고 며칠 뒤 또까먹어서 또 구글링해서 안뜨게 불러오고 이러다가 짜증나서 Unnamed: 0 안뜨는 방법을 적어놓을거에요. 일단 아래처럼 CSV파일을 만들고 저장했어요. 저장 후 다시 파일을 열었더니 웬걸? 또 Unnamed: 0이 뜨잖아요??? 요롤때는 pd.read_csv 파라미터에 index_col=0을 넣어주면 Unnamed: 0 없이 불러올 수 있어요. 끝 By domdomi · 2021. 10. 12.
Dev/Python [python] numpy의 데이터타입을 기본 데이터타입으로 변경하기 그냥 변수 뒤에 .item() 만 붙여주면 돼요. 아래는 제가 numpy.float64형을 float형으로 바꿔본 예제입니다. float뿐만 아니라 nan, int 등등 모든 데이터타입이 변경됩니다! By domdomi · 2021. 10. 12.
Dev/Python [pymongo] mongoDB 컬렉션 복제하기 (clone) 이 방법은 noSQLBooster에서도 사용 가능하고, pymongo로도 사용 가능합니다! 일단 설명을 위해서 아래와 같이 테스트 컬렉션을 하나 만들어놓았어요, 컬렉션은 aggregate로 복제가 가능합니다. $out에는 복제하여 만들 컬렉션의 이름을 적어주세요. collection.aggregate([ {"$match": {}}, {"$out": "collection_clone"}, ]) 이제 noSQLBooster나, pymongo로 복제된 컬렉션을 확인해 보세요~! 끝 By domdomi · 2021. 10. 12.
Dev/Python [python] CSV파일 열었는데 list, dict, int형 등이 문자열로 나올 때 해결법! 파이썬으로 크롤링을 해서 CSV파일로 저장한 경우 등등 CSV파일에 있는 dictionary형이나, list형이나, int형이나, float형이나... 모두 str형, 문자열로 저장됩니다. 파이썬에서 pandas로 열었을 때, 제대로 된 형태로 가져오려면 아래와 같이 불러와주면 됩니다! from ast import literal_eval literal_eval('{"name":"domdom", "site": "domdom.tistory.com"}') 만약 literal_eval이 에러가 나면, eval()을 통해 변경하면 됩니다! eval('{"name":"domdom", "site": "domdom.tistory.com"}') By domdomi · 2021. 10. 12.