본문 바로가기

Data_Analysis

(294)
판다스 - groupby : 그룹 객체에서 컬럼간 연산 타이타닉 데이터프레임을 pclass와 성별 컬럼으로 그룹화 1. 하나의 컬럼 그룹별 나이를, 그룹별 나이의 합으로 나누고 싶다면? 방법1. apply와 lambda 함수 이용 멀티인덱스의 시리즈로 나왔다. 보기엔 편할 수 있으나 굳이 인덱스까지 필요없다면 방법2. 컬럼명.apply 또는 컬럼명.transform 이용 좌,우 두 개의 결과는 동일하다. apply와 transform에 대한 내용은 아래 포스팅 참조 https://steadiness-193.tistory.com/42 판다스 - groupby : apply와 transform (차이) [개별 원소] apply transform [공통] 컬럼명을 메서드 밖에서 명시하면 결과는 같게 나온다. [차이1] 컬럼명을 메서드 안에서 명시하면 그룹별 시리즈..
판다스 - 광고데이터 분석을 통한 비효율 키워드 추출 1. 노출수 광고데이터의 노출수 컬럼을 오름차순한 뒤 인덱스 초기화 (reset_index) 2. 클릭수 광고데이터의 클릭수 컬럼을 오름차순한 뒤 인덱스 초기화 (reset_index) 노출수와 클릭수를 보니 각 컬럼별 상위 5%의 값들이 다른 값들과의 격차가 절대적으로 크다. 3. 총비용 광고데이터의 총비용 컬럼을 오름차순한 뒤 인덱스 초기화 (reset_index) 총비용컬럼은 노출수와 클릭수에 비해 상위 15%정도가 나머지에 비해 격차가 상당해보인다. 정리해보면 비효율 키워드는 ● 노출수 95백분위수 미만 (상위 5% 아닌 데이터) ● 클릭수 95백분위수 미만 (상위 5% 아닌 데이터) ● 총비용 85백분위수 이상 (상위 15% 데이터) 위 세가지를 동시에 만족해야 한다. 노출수 95백분위수 미만 ..
판다스 - 광고데이터 분석을 통한 중점관리 키워드 추출 1. 노출수 광고데이터의 노출수를 오름차순하고 인덱스를 초기화(reset_index) 하여 시각화 x축은 인덱스로 큰 의미 없음 주목해야할 것은 상위 5%에서 압도적으로 높은 성적을 보임 2. 클릭수 광고데이터의 클릭수를 오름차순 하고 인덱스를 초기화(reset_index) 하여 시각화 x축은 인덱스로 큰 의미 없음 클릭 수 또한 상위 5%에서 압도적으로 높은 성적을 보이고 있음. 노출수, 클릭수 기준 상위 5% 이상의 키워드 추출 95백분위수를 이용한다. (quantile(0.95)) 1. 첫번째 조건 만들기 (cond1) 노출수가 상위 5% 이상인지 확인하는 불린 시리즈 2. 두번째 조건 만들기 (cond2) 클릭수가 상위 5% 이상인지 확인하는 불린 시리즈 3. cond1과 cond2를 &를 이용하..
판다스 - skiprows 엑셀(또는 csv)파일 등을 읽어올 때 간혹 컬럼에서 이슈가 생길 때가 있다. 우선 전체 엑셀 파일을 예시로 만들어서 보면 1번행에 표 제목이 있고 2번행부터 컬럼이 시작된다. 이를 데이터프레임으로 불러와보자 딱 보기에도 문제가 있다. 원인은 표 제목인 엑셀의 1번행을 컬럼으로 가져왔기 때문이다. 이때 사용하는 것이 바로 skiprows이다. 엑셀의 1번행 → 판다스의 컬럼 판다스는 0부터 시작 위 원리를 이해하고 skiprows에, 0을 넣은 배열을 넘긴다. 엑셀의 1번행을 생략하니 == skiprows=[0] 엑셀의 2번행이 판다스의 컬럼이 되었다.
판다스 - 네이버 쇼핑 크롤링 자료 : 분석 https://steadiness-193.tistory.com/124 판다스 - 네이버 쇼핑 크롤링 자료 : 전처리, 살펴보기 나이키 스우시 드라이핏 캡 548533 : 네이버쇼핑 판매되는 상품의 수량에 대해 2주, 1개월, 3개월, 6개월 단위로 추이를 보여주는 정보입니다. search.shopping.naver.com 네이버 쇼핑에서 위 나이키 모자에 steadiness-193.tistory.com 위 포스팅에서 전처리 완료한 데이터프레임을 이용한다. df mall 별로 그룹화 → grouped mall 별로 total_price를 가장 저렴히 판매하는 곳 찾기 위 함수를 이용한다. get_minimum 함수 적용 → group_df 이를 total_price 기준으로 오름차순으로 정렬하고 인덱스를 ..
판다스 - 네이버 쇼핑 크롤링 자료 : 전처리, 살펴보기 나이키 스우시 드라이핏 캡 548533 : 네이버쇼핑 판매되는 상품의 수량에 대해 2주, 1개월, 3개월, 6개월 단위로 추이를 보여주는 정보입니다. search.shopping.naver.com 네이버 쇼핑에서 위 나이키 모자에 대한 정보를 긁어왔다. https://steadiness-193.tistory.com/121 크롤링 - webdriver(selenium)으로 네이버 쇼핑 크롤링하기 크롤링할 콘텐츠 나이키 스우시 드라이핏 캡 548533 : 네이버쇼핑 판매되는 상품의 수량에 대해 2주, 1개월, 3개월, 6개월 단위로 추이를 보여주는 정보입니다. search.shopping.naver.com https://steadiness-193. steadiness-193.tistory.com 크롤링은 위..
판다스 - groupby : 컬럼 선택 (SeriesGroupBy, DataFrameGroupBy) GroupBy 객체를 컬럼 이름으로 색인 → SeriesGroupBy 컬럼 이름이 담긴 배열로 색인 → DataFrameGroupBy 위 두개는 같지만서도 조금 다르다. 데이터를 불러와 살펴보자 위 데이터프레임을 key1 컬럼으로 그룹핑하자 우선 그룹핑한 객체는 당연하게도 DataFrameGroupBy 이다. 컬럼 이름으로 색인 ['컬럼명'] SeriesGroupBy가 나온다. 컬럼 이름이 담긴 배열로 색인 [['컬럼명']] DataFrameGroupBy가 나온다. 사실 중요한 것은 위 둘의 차이보단 '이를 어떻게 활용하느냐'이다. 결과가 나올 수 있게 평균 집계함수를 써서 결과물을 리턴하자 SeriesGroupBy data1의 컬럼명은 나오지 않고 결과만 나와있다. DataFrameGroupBy dat..
판다스 - Excel(csv) 읽어올 때 콤마(,)있는 컬럼을 정수형으로 읽어오기 : thousands 데이터 불러오기 위 데이터프레임의 price 컬럼은 천 단위에 콤마(,)가 있다. 우선 dtypes로 확인해보면 모두 문자열로 구성되어 있다. 이렇게 되면 숫자 연산이 불가능하기에 price나 deliver_fee는 정수형으로 바꿔줘야 한다. 보통은 apply를 이용한 다음 컬럼을 추가한다. 보통의 작업 apply를 이용해 콤마(,) 없애고 정수형으로 변환 원하는 위치에 컬럼 추가 새로 추가한 컬럼은 정수형으로 잘 되었다. 그러나 이 작업은 다소 귀찮고 컬럼이 새로 추가되는 번거로움이 있다. 이를 해결하기 위해 read_csv / read_excel 등에선 thousands 옵션을 제공한다. thousands 옵션을 이용해서 데이터를 다시 불러오자 부가적인 작업없이 천 단위 구분자(,)가 포함된 컬럼을 ..