분석 Python/구현 및 자료(105)
-
[ Python ] xml 파일 형식에서 원하는 부분 빼서 사용해보기
이번에는 xml을 다뤄야 해서, 여기서 원하는 것을 빼는 것을 연습해보겠습니다. 현재 옆에 보시면 annotation 한 것 중에서 저는 object에서 name과 bndbox를 빼고 싶다고 합시다. 그렇다면 어떻게 해야 할까요? 여기서 보시면은 root를 보면 위에서 처럼 annotation이 나옵니다 이제 그다음 그 뿌리를 얻으려면 getchildren을 해야 합니다 해보면 위에 그림과 같이 뿌리를 보여주는 것을 알 수 있습니다. 여기서 보면 알 수 있듯이 결국 어딜 하나를 들어가서 그다음에 뿌리를 보고 또 뿌리를 보고 계속계속 들어가면 되는 구조인 것 같습니다. 그 다음 원하는 것을 얻기 위해 re로 object만 빼냅니다. object_ = [ i for i in child if re.search..
2019.05.16 -
[ Python ] numpy를 사용하지 않고 argmax나 argmin을 할 수 있을까?
해당 작업은 어디 글을 보다가 궁금하게 되서 진행을 하게되었다 만약 우리가 numpy가 없다면.......... argmin, argmax는 어떻게 해야 할까?! 항상 보면 가장 작은 값 가장 큰 값을 뽑기 위해서 list를 numpy로 바꾸고 하긴 했었다. 그러면 이제 numpy를 안쓰고 해보자. argmax 경우 output = [0.1,0.25, 0.3 ,0.2 ,0.1,0.05] f = lambda i: output[i] max(range(len(output)), key=f) argmin 경우 min(range(len(output)), key=f) 그렇다면 만약 최대 2개를 찾고 싶으면? 해봤는데 코드가 좀 복잡해져서 Numpy의 소중함을 알게 됬다.... output = [0.1,0.25, 0...
2019.05.12 -
[변수 생성] 시간 데이터에서 어떤 변수를 새로 만들 수 있을까?
현재 이런 식으로 시간이 관련된 정보가 있다고 하자. 이러한 시간을 다룰 때 나는 아직 경험이 부족해서 막막하게 느껴진다. 머 두시간의 차이를 빼거나 아니면 사람별로 시간을 한개씩 shift(-1) (pandas)를 이용해서 빼서 이동 할 때 시간을 측정해본다던지, 여러가지로 시간을 잘 쓸 수 있을 것 같은데 아직 내공이 부족함을 느낀다. ## 기본적으로 뽑을 수 있는 정보들! * year: 연도 * month: 월 * day: 일 * hour: 시 * minute: 분 * second: 초 * microsecond: 마이크로초(micro seconds, 백만분의 일초) * weekday(): 요일 반환 (0:월, 1:화, 2:수, 3:목, 4:금, 5:토, 6:일) * strftime(): 문자열 반환..
2019.05.06 -
[ Python ] 특정 조건을 만족하는 List 문자열만 뽑기
파이썬 카톡 단체방에 올라온 것이 있는데 , 유용한 것 같아서 공유합니다. 여기서 추가로 debugging package pysnooper도 써서 살을 보탭니다. 1. 어떤 List안에 있는 것을 다 포함하는 경우만 뽑고 싶을 때 어떻게 해야할까? import pysnooper ## 다 있어야 하는 경우 @ pysnooper.snoop() def word_check(word, check) : output = [elem in word for elem in check] return all(output) check = ["a","e","i","o","u"] words = ["abcded", "uoiea", "aaaaaoieoieuu","bcd"] [word for word in words if word_che..
2019.05.04 -
[ Python ] 중복 되는 배열 해결 하기
만약에 어떠한 길을 가는데, 도중 도중에 중복되는 것이 있다고 하자. 다음과 같이 어떻게 하면 만들 수 있을까? path = ["a","b","c","d","a","a","c","e","e", "o","e","a","a","b","b"] --> ['a', 'b', 'c', 'd', 'a', 'c', 'e', 'o', 'e', 'a', 'b'] 정답은! def dup_path_delete(path) : path_dir = [] for i, j in enumerate(path) : if i == 0 : path_dir.append(j) elif j != path[i-1] : path_dir.append(j) else : pass return path_dir path = ["a","b","c","d","a",..
2019.05.03 -
[ Python ] pysnooper 을 활용한 debug 하기
** 유용하셨다면 공감버튼 한번씩 눌러주세요** pip install pysnooper import pysnooper ## 해당 함수 debug 할 때 앞에 error check : 가 붙어서 나온다. @ pysnooper.snoop (prefix = 'error check : ' ) def plus_with_power (a, b , d) : a = a * a b = b * b b = b + d c = a + b return c command 창에 mkdir를 사용해서 my 폴더 안에 log를 만든다. (아무거나 원하는 이름 하면 된다.) @ pysnooper.snoop( '/my/log/file.log' ) def plus_with_power (a, b , d) : a = a * a b = b * b ..
2019.05.02 -
[ Python ] Jupyter에서 multiprocessing을 활용하여 bash 돌리기
** 유용하셨다면 공감버튼 한번씩 눌러주세요** import os , re , time import numpy as np from multiprocessing import Pool path = "/home/advice/Python/SR/" DIR = os.listdir(path) ## 원하는 Scripy ~.py를 찾기 dir2 = [ path + i for i in DIR if re.search("BayesOpt", i)] curr_path = os.getcwd() +"/" + str(date.today()) ## 폴더 추가 if not os.path.exists(curr_path): os.makedirs(curr_path) ## .sh 파일 여러개 생성하기 for idx , i in enumerate..
2019.05.01 -
[ Python ] 절대 경로로 Import 하기
import sys sys.path.append('/home/test') from define import TestClass 참고 사이트 : https://yujuwon.tistory.com/entry/%EC%A0%88%EB%8C%80-%EA%B2%BD%EB%A1%9C%EB%A1%9C-import-%ED%95%98%EA%B8%B0 절대 경로로 import 하기 절대 경로에 있는 파이썬 class를 import하려면 어떻게 해야 할까? /home/test/define.py 란 python 코드가 아래와 같이 있다고 가정하자. class TestClass: def testFunction(self, flag): print "test Function".. yujuwon.tistory.com
2019.05.01 -
띄어쓰기 안된 문장 띄어쓰기 적용시키기(네이버 맞춤법 검사기)
텍스트 데이터를 뽑아냈는데 모든 문장이 띄어쓰기가 안 될때 쓰면 좋은 코드입니다. - import codecs from bs4 import BeautifulSoup from konlpy.tag import Twitter import urllib.request import os, re, json, random ret="짐작이엇나갔으므로준구의말을하는데임이네도무슨까닭인지최참판의어머니에관한것을." abc = urllib.parse.urlencode({"_callback": "","q": ret}) data = urllib.request.urlopen("https://m.search.naver.com/p/csearch/dcontent/spellchecker.nhn?" + abc) data = data.read()..
2017.12.26