제주대 데이터분석 1Day / 3Day
2022년 6월 데이터분석을 위한 기초문법
x = 3
y = 7
print(x + y)
type(x)
z = '10'
z + z
# float
# str(string)
type(z)
int(z) + int(z) #형변환
# colab - google에서 개발한 jupyter notebook과 유사한 서비스
# python - 설치 후, power shell에서 python 파일명.py로 실행가능
name = 'leehojun'
age = 10
print('제 이름은', name, '이고 나이는 ', age, '입니다.')
print('제 이름은' + name + '이고 나이는 ' + str(age) + '입니다.')
print('제 이름은 {}이고 제 나이는 {}입니다.'.format(name, age))
print('제 이름은 {1}이고 제 나이는 {1}입니다.'.format(name, age))
print(f'제 이름은 {name}이고 제 나이는 {age}입니다.')
# +, -, /, *, **, %
x = 3
y = 7
print(x + y)
print(x - y)
print(y / x) # float(실수)
print(y // x) # int(정수)
print(x * y)
print(y ** x) # 승수
print(y % x) # 나머지
x = 3
x = x + 7
x += 7
x -= 3
x = 3
y = 7
print(x > y)
print(x >= y)
print(x < y)
print(x <= y)
print(x == y)
print(x != y)
x = True # 1
y = False # 0
# and 곱
# or 합
print(x and y)
print(x or y)
print(not y)
s = 0
for i in range(100):
if i % 3 == 0 or i % 5 == 0:
print(i)
s += i
s
s = 'paullab ceo leehojun'
print(type(s))
print(dir(s))
s.count('l')
s.find('c') # find는 없는 값을 만나면 -1을 출력합니다.
s.index('c') # index는 없는 값을 만나면 error를 출력합니다.
# s.format(name, age) -> '제 이름은 {}입니다. 제 나이는 {}입니다'.format(name, age)
'!'.join(['010', '5044', '2903'])
'-'.join(['010', '5044', '2903'])
s.replace('ceo', 'CEO')
s.split(' ')
'연도,제조사,모델,설명,가격'.split(',')
s.upper() # 대문자로, lower 소문자로
'1001'.zfill(10)
# s[start:stop:step]
s = 'paullab CEO leehojun'
s[0] # 0이란 숫자를 index(0부터 시작)라고 부릅니다. 호출하는 것을 indexing
s[3:7] # 슬라이싱
s[-3:]
s[:]
s[::2]
s[::-1]
a = [10, 20, 30, 40]
print(type(a))
print(dir(a))
a.append(100)
a
a.count(100)
a.index(40)
a.pop()
a
a.reverse()
a
a.sort()
a
x = [1, 5, 4, 2, 6, 7, 8 ]
sorted(x)
x
reversed(x)
list(reversed(x))
x = [10, 20, 30]
x[2]
x[1] = 1000
x
s = 'hello world'
#s[0] = 'k'
#s
'k' + s[1:]
list(range(10))
list(range(5, 10))
list(range(5, 30, 2))
list(range(10, 5, -1))
str(list(range(10000))).count('8')
#'88'.count('8')
str(list(range(10)))
d = {'one':1, 'two':2}
d
d['one']
d['one'] = 100
d
dir(d)
# d.keys()
d.values()
t = (10, 20, 30, 40)
t[0]
if 10 > 5:
print('hello world')
if 10 < 5:
print('hello world')
중간고사점수 = 89
용돈 = 10000
if 중간고사점수 > 90:
용돈 += 1000000
print('엄마 : 대단해!')
if 중간고사점수 > 80:
용돈 += 100000
print('엄마 : 오!')
if 중간고사점수 > 70:
용돈 += 10000
print('엄마 : 오?')
if 중간고사점수 > 60:
용돈 += 1000
print('엄마 : 대단해?')
print(용돈)
중간고사점수 = 89
용돈 = 10000
if 중간고사점수 > 90:
용돈 += 1000000
print('엄마 : 대단해!')
elif 중간고사점수 > 80:
용돈 += 100000
print('엄마 : 오!')
elif 중간고사점수 > 70:
용돈 += 10000
print('엄마 : 오?')
elif 중간고사점수 > 60:
용돈 += 1000
print('엄마 : 대단해?')
else:
print('!!')
용돈 = 0
print(용돈)
if False:
print('one')
elif False:
print('two')
else:
print('three')
if True:
print('one')
if True:
print('two')
if False:
print('three')
for i in range(10):
print(i)
print('hello')
print('end')
for i in 'hello world':
print(i)
print('hello')
print('end')
for i in [10, 20, 30]:
print(i)
print('hello')
print('end')
for i in {'one':1, 'two':2, 'three':3}:
print(i)
print('hello')
print('end')
s = 0
for i in range(101):
s += i
s
s = 0
for i in range(0, 101, 2):
s += i
s
x = 0
while x < 10:
print(x)
x += 1
s = [10, 20, 30]
for i in s:
print(i)
x = 0
while True:
print('hello')
x += 1
if x > 10:
break
s = [10, 20, 30]
while s:
print(s.pop())
def add(x, y): # x, y를 파라미터라고 부릅니다.
return x + y
add(10, 20) # 10과 20을 아규먼트라고 부릅니다.
# 땅파기()
# 땅파기()
# 땅파기()
# 땅파기()
# 땅다자기()
# 벽돌쌓기()
# 지붕올리기()
# 땅파기()
def 원넓이(반지름):
return 반지름*반지름*3.14
원넓이(10)
hojun = print
hojun('hello world')
def 이호준10번출력하기():
for i in range(10):
print('이호준')
# return 10
print(이호준10번출력하기())
# 인스턴스 : 자동차(붕어빵)
class Car():
maxPeople = 6 # 맴버(클래스 변수, 인스턴스 변수)
maxSpeed = 300
def start(self): # 매서드
print('출발합니다!')
def stop(self):
print('멈춥니다!!')
k5 = Car()
k5.maxPeople
k5.start()
k3 = Car()
k3.start()
l = [10, 20, 30, 1, 2, 3]
l.sort()
import test
test.age
test.name
import test as t
t.name
import numpy as np
s = 10
s = [10, 20, 30, 40]
s = [10]
s = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
s[0]
s[0][0]
s = [[[1, 2], [3, 4]],
[[1, 2], [3, 4]]]
s = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
for i in range(3): #range(len(s))
for j in range(3):
# print(s[i][j])
s[i][j] *= 2
print(s)
s = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
a = np.array(s)
a * 2
s * 2
a.shape
a.ndim
a.dtype.name
a.size
type(a)
test = np.arange(15).reshape(3, 5)
test # step 값에 실수도 해준다!
test = np.arange(160).reshape(2, 4, 4, 5)
test # step 값에 실수도 해준다!
np.zeros((3, 4))
np.ones((3, 4))
np.linspace(0, 2, 9) # 0부터 2까지 9개
import random
random.randint(0, 10)
a = []
for i in range(100):
a.append(random.randint(1, 6))
a.count(3)
a = np.random.rand(5)
print(a)
a*10
a*7
np.random.random((2, 3))
np.arange(15).reshape(3, 5)
np.arange(15).reshape(3, 5).min()
np.arange(15).reshape(3, 5).max()
np.arange(15).reshape(3, 5).sum()
np.arange(15).reshape(3, 5).mean()
np.arange(15).reshape(3, 5).var()
np.arange(15).reshape(3, 5).std()
a = np.arange(15).reshape(3, 5)
a
a.sum(axis=1)
a.sum(axis=0)
a = np.floor(10 * np.random.rand(2, 3))
a
np.arange(15).reshape(3, 5)
np.arange(15).reshape(3, 5).T
import numpy as np
from skimage import io
import matplotlib.pyplot as plt
jeju = io.imread('jeju.jpg')
type(jeju)
jeju.shape
jeju
plt.imshow(jeju)
data = jeju[:]
x = [1, 2, 3, 4, 5]
x[::-1]
plt.imshow(data[::-1])
plt.imshow(jeju[:, ::-1])
plt.imshow(jeju[800:1200, 700:1150])
plt.imshow(jeju[::5, ::5])
plt.imshow(jeju[::10, ::10])
plt.imshow(jeju[::30, ::30])