conda명령어는 anaconda prompt에서 사용
cmd와 비슷하게 생김, 차이점은 (base)
conda create -n test python=3.8
자연어처리용, 이미지처리용 라이브러리 충돌
자연어처리 넘파이 2.6이상 필요 이미지처리 넘파이 1.5이하 필요하면 충돌하면 안 되기 때문에 가상환경으로 따로따로 만들어한다. 라이브러리 충돌을 막기 위해서
deactivate 하면 base로 다시 나올 수 있지만 별로 안 쓴다.
conda activate test
conda list
base는 엄청 많은 게 설치되어 있기 때문에 가상환경을 만들어서 사용하는 것이 좋다.
conda env list
conda install jupyter notebook
pip install pandas
conda install matplotlib
다른 환경으로 가서 지우기
conda env remove -n test
오픈소스를 다운받으면 .yml 파일이 따라오는 경우가 있는데. 그 속에는 메모장에 쓰인 것처럼 이름과, 파일 환경이 있으니, 가상환경을 메모장안에 환경으로 설정해야 한다.
re: 정규표현식 regular expression , 텍스트 처리와 관련됨
#정규표현식을 사용하면 유연하게 사용가능, beautifulsoup을 통해 크롤링할 때 사용하면 좋음
import re
r = re.compile("a.c")
print(r.search("qwerty"))
None
r.search("abc")
<re.Match object; span=(0, 3), match='abc'>
r.search("abbc")
r.search("axc")
<re.Match object; span=(0, 3), match='axc'>
r2 = re.compile("a..c")
r2.search("abbc")
<re.Match object; span=(0, 4), match='abbc'>
r = re.compile("ab?c")
r.search("abc")
<re.Match object; span=(0, 3), match='abc'>
r.search("axc")
r.search("ac")
<re.Match object; span=(0, 2), match='ac'>
r = re.compile("ab*c")
r.search("a")
r.search("ac")
<re.Match object; span=(0, 2), match='ac'>
r.search("abc")
<re.Match object; span=(0, 3), match='abc'>
r.search("adc")
r.search("abbc")
<re.Match object; span=(0, 4), match='abbc'>
r.search("abbbc")
<re.Match object; span=(0, 5), match='abbbc'>
r.search("acbb")
<re.Match object; span=(0, 2), match='ac'>
r.search("acbbb")
<re.Match object; span=(0, 2), match='ac'>
r = re.compile("ab+c")
r.search("ac")
r.search("abc")
<re.Match object; span=(0, 3), match='abc'>
r.search("abbc")
<re.Match object; span=(0, 4), match='abbc'>
r = re.compile("^ab")
r.search("ab")
<re.Match object; span=(0, 2), match='ab'>
r.search("aab")
r.search("abc")
<re.Match object; span=(0, 2), match='ab'>
r.search("abb")
<re.Match object; span=(0, 2), match='ab'>
r = re.compile("ab{2}c")
r.search("abc")
r.search("abbc")
<re.Match object; span=(0, 4), match='abbc'>
r.search("abbbc")
r.search("ac")
r = re.compile("ab{2,4}c")
r.search("abc")
r.search("abbc")
<re.Match object; span=(0, 4), match='abbc'>
r.search("abbbc")
<re.Match object; span=(0, 5), match='abbbc'>
r.search("abbbbc")
<re.Match object; span=(0, 6), match='abbbbc'>
r.search("abbbbbc")
r = re.compile("ab{2,}c")
r.search("abc")
r.search("abbc")
<re.Match object; span=(0, 4), match='abbc'>
r.search("abbbc")
<re.Match object; span=(0, 5), match='abbbc'>
r.search("abbbbc")
<re.Match object; span=(0, 6), match='abbbbc'>
r.search("abbbbbbc")
<re.Match object; span=(0, 8), match='abbbbbbc'>
r = re.compile("[b-e]") #bcde
r.search("abcdefghi")
<re.Match object; span=(1, 2), match='b'>
r.search("abcd")
<re.Match object; span=(1, 2), match='b'>
r.search("apoi")
r.search("ab")
<re.Match object; span=(1, 2), match='b'>
r.search("b")
<re.Match object; span=(0, 1), match='b'>
r.search("defghijklmn")
<re.Match object; span=(0, 1), match='d'>
r.search("efghijklmn")
<re.Match object; span=(0, 1), match='e'>
r.search("fghijklmn")
r = re.compile("[^abcd]")
r.search("a")
r.search("abc")
r.search("bc")
r.search("efg")
<re.Match object; span=(0, 1), match='e'>
r = re.compile("ab.")
r.match("tttabc")
r.match("abcttt") #match:처음부터 조사
<re.Match object; span=(0, 3), match='abc'>
r.search("tttabc") #search: 텍스트 전체를 보고 정규식(compile) 조사
<re.Match object; span=(3, 6), match='abc'>
r.search("tttc")
r.search("tttac")
text="호날두는 입단 기자회견에서 유럽에서 내 일은 끝났다. 나는 유럽의 주요 클럽에서 모든 걸 성취했고, 이제 아시아에서 새로운 도전을 한다고 말했습니다."
text.split()
['호날두는',
'입단',
'기자회견에서',
'유럽에서',
'내',
'일은',
'끝났다.',
'나는',
'유럽의',
'주요',
'클럽에서',
'모든',
'걸',
'성취했고,',
'이제',
'아시아에서',
'새로운',
'도전을',
'한다고',
'말했습니다.']
re.split(" ",text)
['호날두는',
'입단',
'기자회견에서',
'유럽에서',
'내',
'일은',
'끝났다.',
'나는',
'유럽의',
'주요',
'클럽에서',
'모든',
'걸',
'성취했고,',
'이제',
'아시아에서',
'새로운',
'도전을',
'한다고',
'말했습니다.']
text2 = "안녕 나는 뽀로로야"
re.split("\+",text2)
['안녕 나는 뽀로로야']
text2.split("+")
['안녕 나는 뽀로로야']
text3 = """
이름:크롱
전화번호:010-1234-5678
나이:3
성별:남
"""
re.findall("\d+", text3) #d: 숫자
['010', '1234', '5678', '3']
#영어만 나오기
text4 ="""뉴스홈페이지 : https://goo.gl/4bWbkG"""
re_res =re.sub("[^a-zA-Z]", ' ',text4)
re_res
' https goo gl bWbkG'