분류 전체보기

- 인덱스 정렬 df_sort_index = df.sort_index(ascending=False) df_sort_index - 컬럼값 정렬 df_sort_value = df.sort_values(by=df.columns[0],ascending=False) df_sort_value # df.columns[0] 이나 '컬럼명' 으로 해줄 수 있다. df_sort_value_double = df.sort_values(by=[df.columns[0],df.columns[1]],ascending=False) df_sort_value_double df_sort_value_double = df.sort_values(by=['이름','나이'],ascending=False) df_sort_value_double ** ..
정규표현식은 패턴을 갖는 문자열의 집합을 표현하는데에 사용되는 기법이다. 주로 복잡한 문자열에서 특정한 패턴과 일치하는 문자열을 찾고 대체하기 위해서 사용하여 복잡한 문자열을 처리할 때 유용하다. 파이썬에서는 re 패키지를 통해 정규표현식을 사용할 수 있다. Pattern 객체의 메소드 match 전체 문자열에서 시작부터 패턴과 일치하는 첫번째 문자열을 찾아 매치 객체로 반환 search 전체 문자열에서 패턴과 일치하는 첫번째 문자열을 찾아 매치 객체로 반환 findall 전체 문자열에서 패턴과 일치하는 모든 문자열을 찾아 리스트로 반환 finditer 전체 문자열에서 패턴과 일치하는 모든 문자열을 찾아 반복 가능 객체로 반환 - match() : 시작부터 패턴과 일치하는 첫번째 문자열 찾기 p = re..
우선 csv로 파일을 저장하는 방법은 table.to_csv('./data.csv', encoding='CP949') 운영체제별로 마이크로소프트의 경우 CP949를 맥과 리눅스는 UTF-8을 사용하여 인코딩한다. 남이 저장한 파일을 읽어올때는 pd.read_csv("./datas.csv", encoding='UTF-8',index_col=0) 이렇게 읽어오면 되는데 이러한 에러코드를 만나게 될것이다. ### 인코딩 에러 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7 in position 0: invalid continuation byte 저장할때 인코딩 방식을 CP949로 했는데 UTF-8로 요청을 했기 때문이다. 이때는 당황하지 말고 encodin..
리스트의 수를 세는 방식이 크게 두가지가 있다. 하나는 len(list) 이것으로 list의 전체 요소의 갯수를 구할 수 있다. 두번째는 list.count('a') 이것으로 list안의 요소에 'a'가 있는지 확인하여 그 갯수를 반환한다. 만약 'a'가 없다면 0을 반환하게 되니 조건식을 통해 해당요소가 존재하는지 여부도 확인할 수 있다. if list.count('a') == 0 : print('a가 없다.') else : print('a가 있다.')
추가 / 갱신 : 새로운 열 이름이라면 해당 열이 추가될 것이고 기존에 있던 열 이름이라면 갱신될 것입니다. df['열이름'] = data_list 삭제 del df['열이름']
df.rename(columns={'Before':'After'})
문제상황 네이버 맵에서 셀레니움을 사용하여 동적크롤링으로 식당 정보들을 수집하려고 한다. 개발자 도구에서는 원하는 데이터 값이 보이는데 class_name, xpath 온갖 방법을 써도 객체 자체를 못 얻어오길래 다른 방법도 시도해보고 얼레벌레 이틀을 꼬박 매달렸다. 그런데 추출이 되지 않았던 이유는 바로 해당 태그들이 iframe안에 있기 때문이었다. 해결방법 추출하고 싶은 데이터의 위쪽으로 살펴보다 보면 iframe이라는 부모 태그를 찾을 수 있을 것이다. iframe의 id를 찾았다면 셀리니움 드라이버에서 프레임을 변경하여 안쪽 태그를 추출할 수 있다. driver.switch_to.frame('이름') #네이버 맵 만약 id를 잘 모르겠다면 모든 속성을 뽑아내서 살펴볼 수 있다. # 프레임 살펴보..
문제상황 크롤링을 할때 사이트에 접근만 했을뿐인데 403에러가 나는 경우가 있을 것이다. 이것은 https주소를 가지고 있는, 보안이 조금 더 강한 사이트일 경우 발생할 수 있는데 알려져있지않은 부정 접근을 차단하는 것이다. 해결방법 해결방법으로는 request객체의 header에 '내가 누구야!' 라는 정보를 넣어주면 되는데 # 웹 주소가 https 이므로 ssl 패키지 이용 # html = urlopen(url) #403번 에러 발생(부정접근으로 차단-알려진 agent를 헤더에 추가해서 전달하면 됨) # 헤더를 추가하려면 일반적으로 Request(get_url,headers={key:value}) import ssl context = ssl._create_unverified_context() # 암호..
seojeon9
'분류 전체보기' 카테고리의 글 목록 (6 Page)