from urllib.request import urlopen
page = urlopen("https://www.naver.com/").read().decode("utf-8")
print(page)
Numerical Python
Python에서 다차원 배열을 다룰 수 있는 라이브러리
데이터의 대부분을 숫자 배열로 볼 수 있기 때문에 Numpy사용
이미지, 소리 등을 배열로 나타일 수 있다.
반복문 없이 배열처리 가능 => 리스트 보다 빠른 연산, 효율적
list_arr = list(range(5))
print(list_arr)
print(type(list_arr))
[0, 1, 2, 3, 4]
<class 'list'>
import numpy as np
np_arr = np.array(range(5))
print(np_arr)
print(type(np_arr))
[0 1 2 3 4]
<class 'numpy.ndarray'>
list = [0,1,2,3]
np_arr = np.array(list)
print(np_arr.shape)
print(np_arr.ndim)
print(np_arr.dtype)
print("<<<>>>")
list = [
[1,2,3],
[4,5,6]
]
np_arr = np.array(list)
print(np_arr.shape)
print(np_arr.ndim)
(4,)
1
int64
<<<>>>
(2, 3)
2
matrix = np.array(range(1,17))
matrix.shape = 4,4
print(matrix)
print(matrix.shape)
print(matrix.ndim)
print("<<<>>>>")
matrix.astype('str')
# 행은 0~2, 열은 1~2 까지만 출력
print(matrix[0:3, 1:3])
[[ 1 2 3 4][ 5 6 7 8]
[ 9 10 11 12][13 14 15 16]]
(4, 4)
2
<<<>>>>
[[ 2 3][ 6 7]
[10 11]]
Indexing & Slicing
np_arr[a : b : c] : a~b-1까지 c의 간격으로
Boolean Indexing
arr = np.arange(8)
print(arr > 3)
print(arr[arr > 3])
[False False False False True True True True]
[4 5 6 7]
print(arr[[1,4,6]]) => 1,4,6 인덱스의 데이터
arr = np.arange(1, 17).reshape(4,4)
print(arr[[0,2], 2]) => 0,2 행의 2열 데이터
[1 4 6]
[ 3 11]
import pandas as pd
data = pd.Series([1,2,3,4], index = ['a','b','c','d'])
print(data)
a 1
b 2
c 3
d 4
dtype: int64
dic = {
'apple' : 5,
'banana' : 2
}
fruit = pd.Series(dic)
print(fruit)
apple 5
banana 2
dtype: int64
population_dic = {
'korea' : 51214555,
'japan' : 105546211
}
gdp_dic = {
'korea' : 6512,
'japan' : 6000
}
data = pd.DataFrame({
'population' : population_dic,
'gdp' : gdp_dic
})
print(data)
population gdp
korea 51214555 6512
japan 105546211 6000
data.loc['korea']
population 51214555
gdp 6512
Name: korea, dtype: int64
data.loc['korea':'japan', : 'gdp']
population gdp
korea 51214555 6512
japan 105546211 6000
data.iloc[0]
data.iloc[0:2, : 2]
population 51214555
gdp 6512
Name: korea, dtype: int64
population gdp
korea 51214555 6512
japan 105546211 6000
print(data['gdp'])
data[['gdp']]
korea 6512
japan 6000
Name: gdp, dtype: int64
gdp
korea 6512
japan 6000
gdpPerPop = data['gdp'] / data['population']
data['gdp per population'] = gdpPerPop
print(data)
population gdp gdp per population
korea 51214555 6512 0.000127
japan 105546211 6000 0.000057