본문 바로가기

Data_Analysis

(294)
Numpy - random : normal, uniform, randint, choice 정규분포로부터 무작위 표본 추출 - normal np.random.normal(평균, 표준편차, 크기) * 평균은 0, 표준편차는 1이 기본값 np.random.normal 난수 50개 생성 균등분포로부터 무작위 표본추출 - uniform (동일한 확률로 실수 추출) np.random.uniform(low, high, size) * high는 포함되지 않음 np.random.uniform 100개의 난수 생성 균일분포의 정수 무작위 표본추출 - randint (동일한 확률로 정수 추출) np.random.randint(low, high, size) * high는 포함하지 않음 np.random.randint 주어진 배열로부터 랜덤 샘플링 - choice np.random.choice(배열, size) *..
Numpy - np.log, np.log1p, np.exp 로그 기본 개념 밑 조건 : a > 0 진수 조건 : N > 0 x의 범위는 실수 위 내용 중에서 자연로그에 대해서 알아보자. 자연로그는 자연상수 e를 밑으로 하는 로그함수(natural logarithm)이며 주로 위 세가지 방법으로 표현하나, 박스 체크된 표현을 많이 사용한다. *자연상수 e : 2.71828182846... 의 값을 가지는 무리수 (오일러의 수) 자연로그10 자연상수(일부)에 2.032...제곱을 하면 10에 가까운 값이 나오는 것이다. log1 == ? 당연히 log1은 0이다. log0 == ? 원칙적으론 진수는 0보다 큰 수이다. 그렇기 때문에 진수자리에 0이 들어가면 경고 메시지가 뜨며 값은 -무한대가 나온다. 이러한 실수를 방지하기 위해 값에 1을 더해서 log를 취하는 방..
판다스 - 2012년 연방선거관리위원회 : 후보 및 주별 기부 통계 https://steadiness-193.tistory.com/220 판다스 - 2012년 연방선거관리위원회 : 전처리, 메모리 효율화 데이터 불러오기 백만행이 넘어가는 큰 데이터이다. 컬럼 살펴보기 정치활동 후원금에 대한 데이터 기부자의 이름, 직업, 고용형태, 주소, 기부금액이 포함되어 있다. 2012년 미국 대통령 선거 데 steadiness-193.tistory.com 위 포스팅에서 전처리 완료한 fec_mrbo를 이용한다. 데이터 불러오기 후보와 주 컬럼으로 그룹핑하기 후보와 주 별로 그룹핑 한 객체의 그룹별 기부금의 합을 구했다. 이 또한 좀 더 보기 좋게 unstack을 하자 위 데이터프레임에서 누락값을 0으로 바꾸고 그 객체를 totals 변수에 넣어주자 67개의 주는 너무 많으니 후보 상..
판다스 - 2012년 연방선거관리위원회 : 후보와 기부 규모별 기부 비율 https://steadiness-193.tistory.com/220 판다스 - 2012년 연방선거관리위원회 : 전처리, 메모리 효율화 데이터 불러오기 백만행이 넘어가는 큰 데이터이다. 컬럼 살펴보기 정치활동 후원금에 대한 데이터 기부자의 이름, 직업, 고용형태, 주소, 기부금액이 포함되어 있다. 2012년 미국 대통령 선거 데 steadiness-193.tistory.com 위 포스팅에서 전처리 완료한 fec_mrbo를 이용한다. 데이터 불러오기 기부 규모 나누기 0부터 1, 1부터는 10의 배수씩 커지는 구간을 만들었다. 이제 pd.cut을 이용해서 기부금 컬럼을 저 bins 구간으로 나눠주면 된다. 후보와 section으로 그룹핑 좀 더 보기좋게 unstack을 이용하자. 위 데이터만 봐도 오바마가..
판다스 - 2012년 연방선거관리위원회 : 직업 및 고용주에 따른 (정당별)기부 통계 https://steadiness-193.tistory.com/220 판다스 - 2012년 연방선거관리위원회 : 전처리, 메모리 효율화 데이터 불러오기 백만행이 넘어가는 큰 데이터이다. 컬럼 살펴보기 정치활동 후원금에 대한 데이터 기부자의 이름, 직업, 고용형태, 주소, 기부금액이 포함되어 있다. 2012년 미국 대통령 선거 데 steadiness-193.tistory.com 위 포스팅에서 전처리 완료한 fec와 fec_mrbo를 이용한다. 데이터 불러오기 직업 / 정당별 기부금 피벗테이블 다 살펴보기엔 무리가 있으니 최소 2백만불 초과로 기부한 직업만 추출해서 다시 보자 피벗 테이블을 열 방향으로 더한 다음 2백만 초과인 조건을 만들어 낸다. 이제 이 조건으로 필터링 하면 된다. 역시 그냥 보긴 어려우..
판다스 - 2012년 연방선거관리위원회 : 전처리, 메모리 효율화 데이터 불러오기 백만행이 넘어가는 큰 데이터이다. 컬럼 살펴보기 정치활동 후원금에 대한 데이터 기부자의 이름, 직업, 고용형태, 주소, 기부금액이 포함되어 있다. 2012년 미국 대통령 선거 데이터이며, 모든 주를 포함하고 있다. info 9, 15번 컬럼의 메모리를 효율화하자 전처리 0 - 메모리 효율화 메모리를 약 8MB 아꼈다. 전처리 1 - 소속 정당 표시 대통령 선거에 출마했던 모든 후보자들이다. 후보자들 별로 소속 정당을 연결해줄 수 있는 딕셔너리를 정의한다. 이제, map 메서드를 이용해서 새로운 시리즈를 만들 수 있다. 이렇게 만든 시리즈를 party라는 이름의 컬럼으로 추가해주자 map 메서드에 대한 자세한 내용은 아래 포스팅 참조 https://steadiness-193.tistory...
판다스 - groupby : 그룹 객체별, 기준 컬럼의 상위 N개의 행만 추출 https://steadiness-193.tistory.com/130 판다스 - groupby : 그룹 객체별 상위 N개의 행만 추출 타이타닉 데이터프레임을 pclass와 성별 컬럼으로 그룹화 그룹별 데이터 개수 여기서 그룹별 fare(요금) 컬럼 기준으로 상위 50개씩만 추출하려면? 1. lambda 함수 이용 위 lambda 함수를 apply와 함께 이� steadiness-193.tistory.com 위 포스팅에선 fare 컬럼을 기준으로 상위 50개 행을 그룹별로 추출해 데이터프레임으로 반환했다. 이번엔 기준 컬럼을 자유롭게 바꿔보고, 상위 N개의 행도 원하는 만큼 시리즈로 뽑아내보자. 이번 포스팅에선 value_counts가 아니라 nlargest를 사용한다. nlargest에 대한 상세 내용은..
판다스 - 값이 높은 n번째까지 출력 : nlargest 시리즈.nlargest(n, keep='first') n : 상위 몇개까지 나타낼 것인가 keep='first' : 동등한 값이 있다면 제일 먼저 나온 값을 보여준다. 시리즈의 경우엔 컬럼을 명시할 필요 없다. 데이터프레임.nlargest(n, columns, keep='first') 데이터프레임의 경우 우선 순위에 따라 컬럼을 명시해 줄 수 있다. 참조 : https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.nlargest.html 데이터 불러오기 시리즈.nlargest 인구수가 많은 순서대로 상위 3개가 나왔다. keep='first'이기 때문에 Malta가 나왔다. keep='all' keep='all' 옵션을 주게..