목록소소한 공부 일기/데이터 분석 (21)
초보 개발자의 일기
안녕하세요! 오늘은 지난주에 학원에서 배웠던 내용을 토대로 음원사이트 멜론(Melon)의 일간 차트 크롤러를 만들어봤어요! 기록도 하고 복습도 할 겸 과정을 올리려구요. 곡명, 앨범명, 상세 정보와 좋아요 수, 가사까지 수집할 수 있게 만들었는데요. 좋아요와 가사를 이용해서 시각화도 진행해볼 예정입니다! 첫 번째 포스팅은 '크롤링을 위한 준비사항'입니다. 저는 주피터 노트북과 크롬 드라이버를 이용했어요! 주피터 노트북이 설치 되어있다는 가정 하에 진행하겠습니다. 크롬드라이버를 설치하기 위해서 구글에 'chrome driver'라고 검색하시거나, 한글로 '크롬 드라이버'라고 검색하시면 링크가 나옵니다. 맨 윗부분의 링크를 클릭해주세요! 링크를 클릭하면 아래와 같은 페이지에 접속하게 됩니다. 크롬 드라이버의..
예시용 df생성 df = pd.DataFrame(np.arange(16).reshape(4,4), index=None, columns=['price', 'qty', 'price', 'qty']) df 새 column 추가하기 마지막에 컬럼 추가 df['name'] = '-' # name 컬럼을 추가한다. df 원하는 위치에 컬럼 추가 예시용 df 생성 컬럼 추가 df.insert(2, 'name', '-', allow_duplicates=False) # 중복허용 안함 df 중복허용을 하지 않으면 같은 이름의 컬럼을 중복 생성할 수 없다. 기본 테이블을 멀티 column, index로 바꾸기 예시용 df생성 멀티 컬럼으로 만들기 import pandas as pd df2 = pd.DataFrame(df1...
변형 예시를 위한 튜플 생성 tuples = list(zip(*[['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'], ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']])) tuples [('bar', 'one'), ('bar', 'two'), ('baz', 'one'), ('baz', 'two'), ('foo', 'one'), ('foo', 'two'), ('qux', 'one'), ('qux', 'two')] Multi Index 생성 index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second']) index MultiIndex(levels=..
그룹화 groupby 예시를 위한 데이터프레임 생성 df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'], 'C': np.random.randn(8), 'D': np.random.randn(8)} ) df 'A' 열을 기준으로 grouping.sum df.groupby('A').sum() 'A', 'B'열을 기준으로 grouping.sum df.groupby(['A', 'B']).sum() ※ 10 minutes to pandas를 바탕으로 한 학습 기록입니다 ※
병합 데이터프레임 간 결합이나 병합 형태의 연산을 말한다. Concat (데이터 합치기) 예시를 위해 데이터프레임을 생성한다. df = pd.DataFrame(np.random.randn(10, 4)) # 랜덤값으로 예시용 df 생성 df 데이터를 분할한다. pieces = [df[:3], df[3:7], df[7:]] pieces [ 0 1 2 3 0 -0.448821 -1.977129 1.611909 -2.037749 1 2.444068 -1.851920 1.410597 0.031063 2 0.090880 3.285175 -0.362880 -1.425051, 0 1 2 3 3 1.171016 -0.572153 -0.219454 -0.197718 4 0.075812 -0.574685 -0.397964 ..
연산 이진(Binary) 연산 Stats (통계 데이터) mean df1.mean(0) df1.mean()과 같다. (0은 열 기준, 1은 index 기준) : 평균값 A 0.135823 B 1.394061 C -0.523802 D -0.500769 F 2.750000 E 1.750000 E 1.750000 dtype: float64 shift # 예시용 Series 생성 s = pd.Series([1, 3, 5, np.nan, 6, 8]. index=dates) s 2013-01-01 1.0 2013-01-02 3.0 2013-01-03 5.0 2013-01-04 NaN 2013-01-05 6.0 2013-01-06 8.0 Freq: D, dtype: float64 shift로 값을 이동한다. s = ..