Loading...
2021. 12. 19. 01:30

urlopen을 할 때 HTTP Error 403: Forbidden error가 난다면

데이터 수집을 하기 위해 크롤링을 수행하는데 from bs4 import BeautifulSoup from urllib.request import urlopen url = 'https://www.chicagomag.com/Chicago-Magazine/November-2012/Best-Sandwiches-Chicago/' html = urlopen(url) soup = BeautifulSoup(html, 'html.parser') soup 다음과 같이 에러가 난다면 이런 경우 다음과 같이 headers를 다음과 같이 추가해서 크롤링 중이라는 것을 숨겨서 크롤링을 할 수 있다고 한다 from bs4 import BeautifulSoup from urllib.request import urlopen, Req..

2021. 12. 18. 23:52

list comprehension

일반적인 for loop보다 빠르게 리스트를 생성할 수 있다 위에가 일반적인 for loop 리스트 생성 아래는 list comprehension으로 생성 list comprehension이 조금 더 빠르다 1) 기본형 [ x for x in ] 에서 x를 뽑아서 x를 리스트에 넣어서 생성 2) 이중for문형 [ x+y for x in for y in ] 에서 x를 뽑은 뒤에 에서 y하나씩 뽑아서 x+y를 넣는다 바꿔말하면 for x in for y in .append(x+y) 3) 조건문 if [x for x in if ] 에서 x를 하나씩 뽑는데 에 맞는 경우만 리스트에 넣어준다 4) 조건문 if~else if만 쓰면 for문 뒤에 써야하는데 if~else를 쓰고 싶으면 for문 앞에 쓴다 [x if..

빅데이터분석기사 3회 대비 실전 벼락치기

1. 정렬하기 data.sort_values( by = (정렬기준이 되는 칼럼) , ascending =True/False) ascending =True이면 오름차순 정렬이고 ascending = False이면 내림차순 정렬 2. series는 대응하는 원소끼리 수학적 계산이 가능 단, 인덱스가 맞지 않으면 계산이 이상해질 수 있음 3. 통계량계산 data.mean() , data.median(), data.sum(), data.count(), data.std(), data.var(), .... 최빈값은 scipy 모듈을 이용해서 구할 수 있음 from scipy.stats import mode mode_data = mode(data) 4. 결측치 찾기 data.isnull().sum()을 통해 결측치가..

2021. 12. 3. 01:37

(빅데이터분석기사) pandas에서 count()를 사용할 때 주의할 점

위에 제시된 데이터프레임의 행의 개수를 구할려면 어떻게 해야할까? 434개인건 명백한데 count함수를 이용하면 다음과 같은 결과가 나온다 왜 이런 결과가 나왔을까? 다음은 데이터프레임에 들어간 boston['RM'].unique() array를 len함수를 이용해서 개수를 세어본 결과이다. 그 비밀은 NA값에 있다. 행의 개수를 세야할 때 pd.DataFrame.count()로 데이터프레임의 행의 개수를 셀 수 있는데 count()함수는 NA가 아닌 값만 세는 특징이 있다. 설명을 보면 non-NA값만 개수를 센다고 나와있다. 그래서 NA값을 세야하는지 세면 안되는지에 따라 주의해서 사용해야한다.

2021. 12. 2. 23:23

Pandas 기초 8편

1. merge 두개의 데이터 테이블을 하나로 합치는 기능 기본은 pd.merge(df1,df2,on=(기준변수)) left_on=(왼쪽 프레임의 기준변수), right_on=(오른쪽 프레임의 기준 변수) 4,5,7,8이 공통으로 subject_id에 들어있으므로 기준변수를 subject_id라 하면 inner join inner join은 두 데이터 프레임에서 공통된 것을 뽑아오고(기본) full join(outer join)은 기준변수에서 두 데이터 프레임 값 모두 가지고 오고 left join은 왼쪽 데이터 프레임은 모두 가지고오고 오른쪽 데이터프레임에 없는 것은 NaN으로 채워넣음 right join은 오른쪽 데이터 프레임은 모두 가지고오고 왼쪽 데이터프레임에 없는 것은 NaN으로 채워넣음 ind..

2021. 12. 2. 23:12

Pandas 기초 7편

1. groupby key별로 데이터를 각각 split하고 각각에 함수를 적용하여 결과를 합침 df.groupby((묶는 기준이 되는 열))[(적용받는 열)].(함수) 2개 이상의 열로 묶어낸 경우 리스트를 사용해서 넣어야한다 2. hierarchical index 두 줄 이상의 index를 가지는 dataframe unstack()으로 두줄의 index를 행과 열로 둔 matrix 형태로 바꿔줌 stack()을 하면 다시 원래 데이터프레임으로 되돌아옴 3. reset_index reset_index를 이용하여 index를 다시 데이터프레임의 변수로 만든다 4. swaplevel() swaplevel()하면 index level을 변경함 index level 기준으로 여러 기본 연산 수행이 가능 5. g..