1. data_range() 함수를 이용한 날짜 생성 import numpy as np import pandas as pd # 6행 4열의 랜덤한 값으로 이루어진 행렬 생성 df = pd.DataFrame(np.random.randn(6, 4)) df.columns = ['A','B','C','D'] # pd.date_range() 함수는 시계열 형태의 20160701 부터 5일 후 까지의 시간을 배열로 생성한다. df.index = pd.date_range('20160701', periods=6) #출력 DatetimeIndex(['2016-07-01', '2016-07-02', '2016-07-03', '2016-07-04', # '2016-07-05', '2016-07-06'], # dtype='d..
1. 열 단위 인덱싱 import numpy as np import pandas as pd data = {'year' = [2011, 2012, 2013, 2014, 2015], 'number' = [1,2,3,4,5], 'points' = [1.1,2.2,3.3,4.4,5.5]} df = pd.DataFrame(data, index=['one','two','three','four','five'], columns=['year','number','points','penalty']) #열 단위 인덱싱 df['year'] df.year # 여러값을 인덱싱 가능하다. df['year', 'number'] df[0:3] #특정 열에 값을 대입하는것도 가능하다. df['penalty'] = 0.5 df['penal..
1. Pandas의 자료구조, Series, DataFrame Series는 동일한 데이터형의 성분으로 구성된 자료구조DataFrame은 서로 같거나 다른 데이터형의 여러개의 열에 대하여 복수개의 성분으로 구성된 '표와 같은 형태'의 자료구조 Series는 C언어에서의 배열, DataFrame은 C언어에서의 구조체와 비슷한것 같다. 1.1 SeriesSeries를 생성할때 인자로 파이썬의 배열이나, Numpy의 배열이 들어간다. import numpy as np import pandas as pd obj = pd.Series([1,2,3,4]) print(obj) #출력 0 1 # 1 2 # 2 3 # 3 4 # dtype: int64 obj.values #출력 array([ 1, 2, 3, 4], dt..
1. 준비 - Movielens 자료 받기https://grouplens.org/datasets/movielens/recommended for education and development이 부분의 Readme.txt와 ml-latest-small.zip을 받았다. Readme를 읽어보면 알겠지만 들어있는 파일의 설명들이 나와있다.내가 다룰것은 ratings.csv 파일이기때문에 그 부분만 읽고 빠져나왔다. 2. 파일 불러오기 import numpy as np import pandas as pd #CSV는 Comma Separated Value의 약자로, 콤마로 구분된 값이라는 뜻이다. # Pandas의 csv를 읽어들이는 함수가 있는데, 첫 인자는 '파일의 위치', sep= '구분자' 이다. CSV파일..
1. Numpy 배열에서 제공해주는 함수 1.1 한개의 배열의 각 성분에 적용되는 함수 import numpy as np a = np.arange(-10, 10) # array([-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, # 3, 4, 5, 6, 7, 8, 9]) np.abs(a) # Numpy의 함수에 Numpy 배열을 넣으면 그 연산 후 값을 반환해준다. # abs는 절대값을 반환해주는 함수 #array([10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, # 7, 8, 9]) np.sqrt(a) #위와같이 배열을 넣고 그 값을 반환해준다. # sqrt는 제곱근(**0.5)을 계산해주는 함수 # 음수의 제곱근은 되..
1. 슬라이싱파이썬의 리스트와 유사하게, Numpy 배열도 슬라이싱이 가능하다. 1.1 일차원 배열에서의 슬라이싱 import numpy as np arr= np.arange(10) #출력해보면 array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) arr[5] #배열은 0부터 시작하기때문에 6번째의 5가 선택된다. #출력 해보면 5 arr[5:8] #5번째에서 8번째값 전까지를 슬라이싱하는 것 #출력 array([5, 6, 7]) arr[5:8] = 12 # 5번째에서 8번째값 전까지에 12의 값을 넣는것 # 출력해보면 array([ 0, 1, 2, 3, 4, 12, 12, 12, 8, 9]) arr[:] # 슬라이스 할때 앞 뒤를 명시하지 않으면 전체를 출력 arr[3:] #앞에만 명시할..
Flearning의Python으로 Big Data 분석하기를 기반으로 들은 내용을 정리했다1. Numpy? Numerical Python의 줄임말로, 고성능의 다차원 배열 객체를 다룰 때 유용하게 쓰이는 라이브러리이다. 2. Numpy 배열 2.1 배열의 생성파이썬의 리스트로 정의될 수 있으며, 직접 정의할 수도 있다. import numpy as np data1 = [1,2,3,4,5] np1_arr = np.array(data1) np2_arr = np.array([1,2,3,4,5]) 두 배열 np1_arr, np2_arr은 1차원의 서로 같은 값을 가진 Numpy 배열이 생성된다.이 후 np1,2_arr 들의 형태를 type(np1.arr)을 이용하여 살펴보면 라는 데이터 타입으로 Numpy 배열..
# -*- coding: utf-8 -*- import urllib.request as req from urllib.parse import urljoin from bs4 import BeautifulSoup from os import mkdir import os, time, requests # COMCBT에 받아야할 자료들은 총 3페이지로 구성되어있기 때문에 그 url들을 가져오는 함수 def load_index_page(url): urls = [] for n in range(1,4): urls.append(url + str(n)) return urls # 위 함수에서 가져온 한페이지내에 이름, 주소들을 가져오는 함수 def load_href_name(url): links = [] names = [] h..