Created
December 26, 2017 08:46
-
-
Save JoeUnsung/9d553442fd9b99f6d73d535068fea97c to your computer and use it in GitHub Desktop.
2017_12 ITWILL practice
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
""" | |
Created on Fri Dec 8 14:33:57 2017 | |
@author: Administrator | |
""" | |
_myname='samsjang' | |
my_name='홍길동' | |
MyName2='Hong gil-dong' | |
counter = 1 | |
Counter = 2 | |
import keyword | |
keyword.kwlist | |
abs(-3) | |
abs = 1 | |
abs(-3) | |
print(type(a)) | |
chr = "this is character" | |
print(type(chr)) | |
d = [1000,2000,3000,4000] | |
print(d) | |
print(type(d)) | |
## 3 | |
for i in d: | |
print(i) | |
i | |
for x in d: | |
print(x) | |
range(100) | |
for i in range(100): | |
print(i) | |
import this | |
a = 3 | |
b = 3 | |
a is b | |
import sys | |
sys.getrefcount(3) | |
c =3 | |
c | |
del(c) | |
a = [1,2,3] | |
b = a | |
b | |
a[0] | |
a[1] = 4 | |
a | |
b | |
a = [1,2,3] | |
b = a[:] | |
b | |
a[1] = 10 | |
b | |
from copy import copy | |
b = copy(a) | |
a | |
b | |
a[1] = 6 | |
a | |
b | |
## deep copy example | |
## 1. | |
a = [1,2,[3,4]] | |
a | |
b = a | |
b | |
b = copy(a) | |
b | |
a[2][0] = 5 | |
a | |
b | |
# 2. deep | |
from copy import copy, deepcopy | |
a = [1,2,[3,4]] | |
a | |
b = a[:] | |
b | |
a is b | |
b = deepcopy(a) | |
b | |
a[2][0] = 5 | |
a | |
b | |
## 2.2 deep two | |
a = [1,2,[3,4,[5,6,7]]] | |
a | |
b = a | |
b | |
b = deepcopy(a) | |
b | |
a[2][2][1] = 10 | |
a | |
b | |
a = 123 | |
b = -178 | |
c = 0 | |
a = 1.2 | |
b = -3.45 | |
a = "python" | |
b = " is fun" | |
a + b | |
a * 3 | |
a = [1,3,5,7,9] | |
a[0] | |
a[1:4] | |
a[2:3+1] | |
a = 10 | |
b = 10 | |
a is b | |
a = [ ] | |
a | |
a = list() | |
t1 = () | |
t2 = (1,2,3) | |
t2 | |
t1 = (1,2,'a','b') | |
t1 | |
t1[3] | |
t1 = (1,2,(3,4)) | |
t1[2][0] | |
del t1[0] | |
t1[0] = 3 | |
dic = { } | |
dic['파이썬'] = 'www.python.org' | |
dic | |
dic['애플'] = 'www.apple.com' | |
dic['마이크로소프트'] = 'www.microsoft.com' | |
dic | |
dic.keys() | |
dic.values() | |
dic.pop("파이썬") | |
dic.clear() | |
dic = {'나는':('I',0), '소년':('boy',2), '이다':('am',1), | |
'피자':('pizza',2), '먹는다':('eat',1)} | |
dic | |
result = '' | |
input_kor = input('번역할 한글을 입력하세요~') | |
input_list = input_kor.split(' ') | |
print(input_list) | |
dic['이다'][0] | |
for i in range(len(input_list)): # i : 0,1,2 | |
for j in input_list : # j : 나는 | |
if dic[j][1] == i : | |
result = result + dic[j][0] + ' ' | |
print(result) | |
input_list = ['나는', '피자', '이다'] | |
len(input_list) | |
result = '' | |
for i in range(len(input_list)) : | |
for x in input_list : | |
if dic[x][1] == i : | |
result = result + dic[x][0] + ' ' | |
print(input_list) | |
print(result) | |
del(result) | |
import csv | |
file = open("D:\data\smt_dic.csv","r") | |
emp_csv = csv.reader(file) | |
for emp_list in emp_csv : | |
print(emp_list[1], emp_list[3], emp_list[4]) | |
for emp_list in emp_csv : | |
smt_dic[emp_list[1] ] = (emp_list[3] , emp_list[4]) | |
smt_dic['경솔'] | |
smt_dic={} ## 튜플을 만든다 | |
file=open("D:\data\smt_dic.csv","r") ## 파일을 로드한다. | |
emp_csv=csv.reader(file) ## csv를 다르게 읽어주는건가 | |
for emp_list in emp_csv : ## 한글 영어간 매핑 만들어주는 라인 | |
smt_dic[ emp_list[1] ] = (emp_list[3], emp_list[4]) | |
smt_dic[ emp_list[2] ] = (emp_list[3], emp_list[4]) | |
result = "" | |
input_kor = input('번역할 한글을 입력하세요~ ') | |
input_list = input_kor.split(' ') | |
for i in range(len(input_list)) : ## i : 0,1,2 | |
for j in input_list : ## | |
if smt_dic[j][1] == str(i) : | |
result = result + smt_dic[j][0] + ' ' | |
print(result) | |
smt_dic = {} | |
file = open("D:\data\smt_dic.csv", "r") | |
emp_csv = csv.reader(file) | |
for emp_list in emp_csv : | |
smt_dic[ emp_list[1] ] = (emp_list[3], emp_list[4]) | |
smt_dic[ emp_list[2] ] = (emp_list[3], emp_list[4]) | |
result = "" | |
input_kor = input("번역할 한글~") | |
input_list = input_kor.split(' ') | |
for i in range(len(input_list)) : | |
for j in input_list : | |
if smt_dic[j][1] == str(i) : | |
result = result + smt_dic[j][0] + ' ' | |
print(result) | |
s1 = set([1,2,3,4,5,6]) | |
s2 = set([4,5,6,7,8,9]) | |
s1 & s2 | |
s1 | s2 | |
s1 - s2 | |
d = [1000, 2000, 3000, 4000] | |
print(d) | |
import csv | |
file = open("D:\data\emp2.csv", "r") | |
emp_csv = csv.reader(file) | |
for emp_list in emp_csv: | |
if (emp_list[2]=='SALESMAN') and (int(emp_list[5]) >= 1200): | |
print(emp_list[2], emp_list[5]) | |
240 / 2**2 | |
240 >> 2 | |
1 <= 5 < 10 | |
import time | |
import datetime | |
import pandas | |
import numpy | |
time.time() | |
time.ctime() | |
now = datetime.datetime.now() | |
print(now) | |
x, y= input().split() | |
x=int(x) | |
y=int(y) | |
res = 0 | |
for i in range (x,0,-1): | |
if i == x: | |
res+=y | |
continue | |
if i in (1,3,5,7,8,10): | |
res+=31 | |
elif i in (4,6,9,11): | |
res+=30 | |
else : | |
res+=28 | |
res%=7 | |
if res==0: | |
print("SUN") | |
elif res==1: | |
print("MON") | |
elif res==2: | |
print("TUE") | |
elif res==3: | |
print("WED") | |
elif res==4: | |
print("THU") | |
elif res==5: | |
print("FRI") | |
else: | |
print("SAT") | |
def substr(var, num1, num2) : | |
return var[num1-1:num2] | |
list = '12382923dksel' | |
substr(list,1,2) | |
x=int(input()) | |
if 90<=x<=100: | |
print("A") | |
elif 80<=x<90: | |
print("B") | |
elif 70<=x<80: | |
print("C") | |
elif 60<=x<70: | |
print("D") | |
else : | |
print("F") | |
import csv | |
file=open("D:\data\emp2.csv", "r") | |
emp_csv=csv.reader(file) | |
for emp_list in emp_csv: | |
print(emp_list[1][0:2].lower()) | |
import csv | |
file=open("D:\data\emp2.csv", "r") | |
emp_csv=csv.reader(file) | |
for emp_list in emp_csv: | |
print(emp_list[1][0].upper() + emp_list[1][1:].lower()) | |
def merge_string(*text_list): | |
result='' | |
for s in text_list: | |
result=result+s+' ' | |
return result | |
merge_string("아버지가","방에","들어가신다.","부엌으로") | |
list = [1,2,3,4,5,7] | |
list.count() | |
def max_com(x,*y) : | |
cnt_num=0 | |
while cnt_num < len(y) : | |
if x < y[cnt_num] : | |
(x , y[cnt_num]) = (y[cnt_num], x) | |
cnt = 0 | |
while cnt <= x : | |
cnt += 1 | |
if x%cnt == 0 and y[cnt_num]%cnt == 0 : | |
max = cnt | |
cnt_num += 1 | |
return max_com(max,y[cnt_num]) | |
max_com(24,16, 8) | |
def max_com | |
def test(x,*y): | |
print(*x) | |
print(x) | |
print(y) | |
print(y[0]) | |
print(y[1]) | |
print(len(y)) | |
test([1,2,3],2,3,4,5,6,7,8) | |
def max_com(i,x,*y) : | |
i += 1 | |
if x < y[i] : | |
(x , y[i]) = (y[i], x) | |
cnt = 0 | |
while cnt <= x : | |
cnt += 1 | |
if x%cnt == 0 and y[i]%cnt == 0 : | |
max = cnt | |
return max_com(max,y[i]) | |
max_com(0,24,16,8) | |
import csv | |
file = open("D:\data\emp2.csv", 'r') | |
emp_csv = csv.reader(file) | |
## | |
file=open("D:\\data\\frozen.txt",'r') | |
for winter_list in file: | |
a = winter_list.split(' ') | |
print(a) | |
file=open("D:\\data\\frozen.txt", 'r') | |
for winter_list in file: | |
a=winter_list.split(' ') | |
for b in a: | |
print(b[:1].upper() + b[1:].lower()) | |
file = open("D:\\data\\frozen.txt",'r') | |
for winter_list in file : | |
a = winter_list.split(' ') | |
for b in a : | |
print(b.lower(), b.lower().count('elsa')) | |
file = open("D:\\data\\frozen.txt",'r') | |
sum=0 | |
for winter_list in file : | |
a = winter_list.split(' ') | |
for b in a : | |
if 1 == b.lower().count('elsa') : | |
sum += 1 | |
print(sum) | |
file = open("D:\\data\\frozen.txt",'r') | |
sum=0 | |
for winter_list in file : | |
a = winter_list.split(' ') | |
for b in a : | |
if 1 == b.lower().count('anna') : | |
sum += 1 | |
print(sum) | |
sum=0 | |
file = open('D:/data/NIV.txt','r') | |
for a in file: | |
a = a.split(' ') | |
for b in a : | |
if b.lower().count('god') == 1 : | |
sum+=1 | |
print(sum) | |
sum=0 | |
file = open('D:/data/NIV.txt','r') | |
for a in file: | |
a = a.split(' ') | |
for b in a : | |
if b.lower().count('jesus') == 1 : | |
sum+=1 | |
print(sum) | |
id(data1) | |
id(data2) | |
id(data3) | |
id(data4) | |
id(data5) | |
data1='i am python programer' | |
data2="you are a programer" | |
data3=""" i love | |
i love | |
i love """ | |
data4="my son's names is john" # 문자열에 싱글을 나타내고 싶으면 | |
data5='name of my son is "john"' # 문자열에 더블을 나타내고 싶으면 | |
for i in range(5): | |
i+=1 | |
temp="data"+str(i) | |
print(eval(temp)) | |
for i in range(1,6): | |
dt = "data"+str(i) | |
print(locals()[dt]) | |
from time import sleep | |
for i in range(100) : | |
msg = '\r 진행률 %d%%' %(100-i-1) | |
print(msg, end='') | |
sleep(0.1) | |
file = open("D:\\data\\frozen.txt",'r') | |
sum=0 | |
for winter_list in file : | |
a = winter_list.split(' ') | |
for b in a : | |
if 1 == b.lower().count('anna') : | |
sum += 1 | |
msg = '\r %d개' %(sum) | |
print(msg, end='') | |
print('') | |
print("anna의 갯수 : ",sum,"개") | |
x=input("뭐?") | |
file = open("D:\\data\\frozen.txt",'r') | |
sum=0 | |
for winter_list in file : | |
a = winter_list.split(' ') | |
for b in a : | |
if 1 == b.lower().count(x) : | |
sum += 1 | |
msg = '\r %d개' %(sum) | |
print(msg, end='') | |
print('') | |
print("%s의 갯수 : %d 개" % (x,sum)) | |
import csv | |
file=open("D:/data/emp.csv",'r') | |
emp_csv = csv.reader(file) | |
sal_list=[] | |
cnt=0 | |
for x in emp_csv : | |
if cnt ==0: | |
cnt+=1 | |
continue | |
sal_list.append(int(x[5])) | |
for i in sal_list: | |
print(i) | |
sal_list.sort() | |
for i in sal_list: | |
print(i) | |
sal_list.reverse() | |
for i in sal_list: | |
print(i) | |
import csv | |
file=open("D:/data/emp.csv",'r') | |
emp_csv = csv.reader(file) | |
sal_list=[];name_list=[]; | |
cnt=0 | |
for x in emp_csv : | |
if cnt ==0: | |
cnt+=1 | |
continue | |
sal_list.append(int(x[5])) | |
name_list.append(x[1]) | |
temp=[] | |
for x in range(len(sal_list)): | |
temp.append(str(sal_list[x])+ " : " +name_list[x]) | |
def colcheck(data): | |
return data[5] | |
import csv | |
file=open("D:/data/emp.csv",'r') | |
emp_csv = csv.reader(file) | |
emp_list=[] | |
sal_list=[];name_list=[]; | |
for i in emp_csv: | |
emp_list.append(i) | |
emp_list_sort = sorted(emp_list, reverse=True, key=colcheck) | |
for i in emp_list_sort : | |
print(i[1], i[5]) | |
def colcheck(data): | |
return data[4] | |
import csv | |
file=open("D:/data/emp.csv",'r') | |
emp_csv = csv.reader(file) | |
emp_list=[] | |
sal_list=[];name_list=[]; | |
for i in emp_csv: | |
emp_list.append(i) | |
emp_list_sort = sorted(emp_list, reverse=True, key=colcheck) | |
for i in emp_list_sort : | |
print(i[1], i[4]) | |
def colcheck(data): | |
return data[4] | |
import csv | |
file=open("D:/data/emp.csv",'r') | |
emp_csv = csv.reader(file) | |
emp_list=[];sal_list=[]; | |
cnt=0 | |
for i in emp_csv: | |
if cnt==0: | |
cnt+=1 | |
continue | |
sal_list.append(int(i[5])) | |
print( max(sal_list)) | |
def colcheck(data): | |
return data[5] | |
import csv | |
file=open("D:/data/emp.csv",'r') | |
emp_csv = csv.reader(file) | |
emp_list=[] | |
sal_list=[];name_list=[]; | |
for i in emp_csv: | |
emp_list.append(i) | |
emp_list_sort = sorted(emp_list, reverse=True, key=colcheck) | |
temp=0;cnt=0; | |
for i in emp_list_sort : | |
if i[2]=="SALESMAN": | |
temp+=int(i[5]) | |
cnt+=1 | |
print("평균 월급은 :", temp/cnt) | |
import csv | |
emp_file = open("D:/data/emp2.csv") | |
emp_csv= csv.reader(emp_file) | |
emp=[] | |
for i in emp_csv : | |
emp.append({'empno':i[0], 'ename':i[1], 'job':i[2], | |
'mgr':i[3], 'iredate':i[4], 'sal':i[5], | |
'comm':i[6], 'deptno':i[7] } ) | |
for emp_dic in emp: | |
print(emp_dic['ename'], emp_dic['sal'], emp_dic['job']) | |
## 106 | |
import csv | |
dept_file = open("D:/data/dept.csv") | |
dept_csv= csv.reader(dept_file) | |
next(dept_csv, None) | |
dept=[] | |
for i in dept_csv : | |
dept.append({'deptno':i[0], 'dname':i[1], 'loc':i[2]} ) | |
for i in dept: | |
print(i['deptno'], i['dname'], i['loc']) | |
for e in emp : | |
for d in dept : | |
if e['deptno']==d['deptno']: | |
print( e['ename'], d['loc']) | |
from calendar import monthrange | |
print(last_day('2017-12-14')) | |
def last_day(day) : | |
def next_day(input, weekday): | |
weekday_dic={} | |
weekday_dic['월요일']=0 | |
weekday_dic['화요일']=1 | |
weekday_dic['수요일']=2 | |
weekday_dic['목요일']=3 | |
weekday_dic['금요일']=4 | |
weekday_dic['토요일']=5 | |
weekday_dic['일요일']=6 | |
nextday() | |
import datetime | |
import date | |
date.today() | |
datetime.timedelta(days=2) | |
date.today() + datetime.timedelta(days=2) | |
date.today().weekday() | |
print(next_day('2017-12-14', '토요일') ) | |
param = 10 | |
strdata = '전역변수' | |
def func1(): | |
strdata = '지역변수' | |
print(strdata) | |
def func2(param): | |
param = 1 | |
def func3(): | |
global param | |
param = 50 | |
func1() # ‘지역변수’가 출력됨 | |
print(strdata) # ‘전역변수’가 출력됨 | |
print(param) # 10이 출력됨 | |
func2(param) | |
print(param) # 10이 출력됨 | |
func3() | |
print(param) # 50이 출력됨 | |
pi=3.1415926535 | |
def piArea(r): | |
return r*r*pi | |
def piAreaMany(*r): | |
area=0 | |
for i in r: | |
area+=piArea(i) | |
return area | |
def piAreaMany(*r): | |
return sum([piArea(r[i]) for i in range(len(r))]) | |
print(piArea(5)) | |
print(piAreaMany(5,8)) | |
print(piAreaMany(1,2,3,4,5)) | |
print(piAreaMany(1,2,3,4,5)) | |
import cal_test3 | |
print(cal_test3.plus(10,5)) | |
print('name : {0}'.format(__name__) ) | |
import PIL.Image as pilimg | |
import numpy as np | |
import matplotlib.pyplot as plt | |
im = pilimg.open('D:\data\sun.jpg') | |
pix=np.array(im) | |
plt.imshow(pix) | |
## 49 | |
class MyClass: | |
var = '안녕하세요' | |
def sayHello(self): | |
print(self.var) | |
obj = MyClass() # MyClass 인스턴스 객체 생성 | |
print(obj.var) # ‘안녕하세요’가 출력됨 | |
obj.sayHello() # ‘안녕하세요’가 출력됨 | |
class gun(): | |
def __init__(self): # 반드시 있어야하는 부분 | |
self.nullet = 0 | |
def charge(self, num) : # 충전하는 기능 | |
self.bullet = num | |
def shoot(self, num) : # 쏘는 기능 | |
for i in range(num): | |
if self.bullet > 0 : | |
print('탕 !') | |
self.bullet -= 1 | |
elif self.bullet == 0: | |
print('총알이 없습니다.') | |
break | |
def print(self): | |
print('{} 발 남았습니다.'.format(self.bullet)) | |
a=gun() | |
a.charge(10) | |
a.shoot(2) | |
a.shoot(3) | |
a.print() | |
while 1 : | |
a.charge(24) | |
a.shoot(2) | |
a.shoot(3) | |
a.shoot(2) | |
a.shoot(3) | |
a.print() | |
a.shoot(2) | |
a.shoot(3) | |
a.shoot(2) | |
a.shoot(3) | |
a.print() | |
a.shoot(2) | |
a.shoot(2) | |
a.print() | |
a.shoot(1) | |
class goril() : | |
def __init__(self) : | |
self.nul=0 | |
self.bana=0 | |
def Shout(self, num): | |
for i in range(num): | |
if self.bana <= 0: | |
print('바나나가 먹고싶어..') | |
else : | |
print("우와~~~!") | |
self.bana-=1 | |
def walk(self, num): | |
for i in range(num): | |
if self.bana <= 0: | |
print('바나나가 먹고싶어..') | |
else : | |
print('앞으로 걸어갑니다.') | |
self.bana-=1 | |
def eat(self, num): | |
for i in range(num): | |
print('우걱우걱') | |
self.bana+=1 | |
def leftBana(self): | |
print("바나나 남은 갯수 : %d" % self.bana) | |
a=goril() | |
a.eat(10) | |
a.Shout(5) | |
a.walk(7) | |
## 162 | |
import pandas as pd | |
emp = pd.DataFrame.from_csv("D:\data\emp.csv") | |
emp2 = pd.read_csv("D:\data\emp.csv") | |
emp2 | |
## 163 | |
emp2 = pd.read_csv("D:\data\emp.csv") | |
emp2 | |
print(emp2[['ename','sal']]) | |
## 164 | |
print(emp2[['ename','sal']][emp2['sal']>=3000]) | |
## 165 | |
k = input('<값>을 입력하세요 : ') | |
print('당신이 입력한 값은 <' + k +'>입니다.') | |
## 166 | |
ename2 = input('이름을 입력하세요') | |
emp2 = pd.read_csv("D:\data\emp.csv") | |
print(emp2[['ename','job','sal']][emp2['ename']==ename2]) | |
## | |
df = pd.read_excel('http://qrc.depaul.edu/Excel_Files/Presidents.xls') | |
df | |
df['Political Party'].value_counts().plot(kind="pie") | |
df['Political Party'].value_counts().plot(kind="bar") | |
import numpy as np | |
b = np.array([2,4,6,8]) | |
print(b) | |
print(type(b)) | |
#2. b 배열의 차원수(랭크)를 확인한다. | |
print(b.ndim) | |
print(a.ndim) | |
#3. b 배열에 있는 값들의 총 갯수를 확인한다. | |
print(b.size) | |
#4. b 배열의 행렬 모양을 확인한다. | |
print(b.shape) | |
## 167. | |
a=np.array([[1,2,3],[4,5,6]]) | |
print(a) | |
print(a.shape) | |
## 168 | |
a1 = np.array([[1,2,3],[4,5,6],[7,8,9]]) | |
a2 = np.array([[3,2,1],[6,5,4],[9,8,7]]) | |
print(a1) | |
print(a2) | |
print(a1*a2) ## 각 요소에 대한 곱 연산 | |
print(a1.dot(a2)) ## 행렬곱 | |
## | |
import numpy as np | |
a = np.zeros((2,2)) | |
print(a) | |
b = np.ones((2,2)) | |
print(b) | |
## 170 | |
a = np.full((2,2),3) | |
print(a) | |
# 171. | |
a = np.eye(3) | |
print(a) | |
## 172. | |
a = np.random.random((2,2)) | |
print(a) | |
## 173. | |
m1 = np.full((2,2),10) | |
m2 = np.full((2,2),3) | |
res=m1%m2 | |
print(res) | |
import numpy as pd | |
import numpy.linalg as lin | |
a = np.array([[3,2,1],[1,-1,3],[3,4,-2]]) | |
b = np.array([7,3,1]) | |
c = lin.solve(a,b) | |
c | |
lin.det(a) | |
lin.inv(a) | |
a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]) | |
b = a[:2, 1:3] | |
print(b) | |
print(a.dim) | |
## 177 | |
print(a[0, ]) | |
print(a[:a.ndim+1 ,1]) | |
import numpy as np | |
a = np.array([[1,2],[3,4],[5,6]]) | |
c = (a>2) | |
print(c) | |
1 2 | |
3 4 | |
5 6 | |
import numpy as np | |
import matplotlib.pyplot as plt | |
x = np.array([0,1,2,3]) | |
y = np.array([-1,0.2,0.9,2.1]) | |
plt.plot(x,y) | |
plt.grid(True) | |
plt.show() | |
lst = [ | |
[1, 2, 3], | |
[4, 5, 6], | |
[7, 8, 9] | |
] | |
a = np.array(lst) | |
bool_indexing_array = np.array([ | |
[False, True, False], | |
[True, False, True], | |
[False, True, False] | |
]) | |
n = a[bool_indexing_array]; | |
print(n) | |
bool_indexing_array = ( a%2 == 1 ) | |
## 178 | |
import numpy as np | |
import matplotlib.pyplot as plt | |
## 179 | |
x=np.linspace(-4,4,1024) | |
x=np.array(range(-15,25)) | |
y=x*4+10 | |
plt.plot(x,y,c='k') | |
plt.title("lunch") | |
plt.grid() | |
plt.axvline(x=0, color = 'b') | |
plt.axhline(y=0, color = 'b') | |
plt.show() | |
## 180 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
result = emp[['ename','sal']][~((emp['sal'] >= 1000) & (emp['sal'] <= 3000))] | |
print(result) | |
## 181 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
result = emp[['ename','job']][emp['job'].isin (['SALESMAN','ANALYST'])] | |
print(result) | |
## 182 | |
emp[['ename','comm']][emp['comm'].isnull()] | |
## 183 | |
emp[['ename','comm']][~emp['comm'].isnull()] | |
emp[['ename','comm']][emp['comm'].notnull()] | |
def hap(x,y): | |
return x + y | |
print(hap(10,20)) | |
print((lambda x,y: x + y)(10,20)) | |
import pandas as pd | |
emp = pd.DataFrame.from_csv("D:\data\emp.csv") | |
result = emp['ename'].apply(lambda x:x[len(x)-1]=='T') | |
result2 = emp[['ename']][result==True] | |
print(result2) | |
print(emp[['ename']][emp['empno']==7788]) | |
result = emp['ename'].apply(lambda x:x[-1]=='T') | |
result2 = emp[['ename']][result==True] | |
print(result2) | |
## 185 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp9.csv", engine='python') | |
print(emp) | |
## 186 | |
result = emp[['ename','major']][emp['major']=='심리'] | |
print(result) | |
## 187 | |
result = emp[['ename','age','telecom']][emp['telecom'].isin(['sk','lg'])] | |
print(result) | |
## 188 | |
result = emp[['ename','address']][emp['ename'].apply(lambda x:x[0]=='김')] | |
print(result) | |
## 189 | |
result = emp[['ename','age']][~(emp['age']>=30)] | |
print(result) | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
dept = pd.read_csv("D:\data\dept.csv") | |
result = pd.merge(emp, dept, on='deptno') | |
print(result[['ename','loc']][result['loc']=='DALLAS']) | |
## 192 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
dept = pd.read_csv("D:\data\dept.csv") | |
result = pd.merge(emp, dept, on='deptno', how='left') | |
print(result[['ename','loc']]) | |
import pandas as pd | |
cust = pd.read_csv("D:\data\\L1.txt", engine='python') | |
prod = pd.read_csv("D:\data\\L4.txt", engine='python') | |
memb = pd.read_csv("D:\data\\L4.txt", engine='python') | |
comp = pd.read_csv("D:\data\\L4.txt", engine='python') | |
result = emp[['']] | |
## head랑 비슷한 기능 | |
result[:5] | |
result.head(7) | |
result = pd.merge(cust, comp, on='고객번호', how='left') | |
print(result[['고객번호', '성별','연령대','제휴사','이용년월']][result['연령대']=='60세이상']) | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
scottmgr = emp[['mgr']][emp['ename']=='SCOTT'].values[0] | |
result = emp[['ename']][emp['empno'] == scottmgr[0]] | |
print(scottmgr) | |
print(result) | |
## 198 | |
select ename | |
from emp | |
where empno in ( select mgr | |
from emp ); | |
result1 = emp[['ename']][emp['empno'].isin(emp['mgr'])] | |
print(result1) | |
## 199 | |
result2 = emp[['ename']][~emp['empno'].isin(emp['mgr'])] | |
print(result2) | |
# 200 | |
select ename, sal | |
from emp | |
where sal = (select max(sal) | |
from emp ) ; | |
result2 = emp[['ename','sal']][emp['sal']==(max(emp['sal']))] | |
print(result2) | |
## 201 | |
최근에 멤버쉽에 가입한 고객의 고객번호, 성별과 | |
거주지를 출력하시오 | |
cust = pd.read_csv("D:\data\\L1.txt", engine='python') | |
prod = pd.read_csv("D:\data\\L4.txt", engine='python') | |
memb = pd.read_csv("D:\data\\L4.txt", engine='python') | |
comp = pd.read_csv("D:\data\\L5.txt", engine='python') | |
result = emp[['']] | |
## head랑 비슷한 기능 | |
result.head(7) | |
result = pd.merge(cust, comp, on='고객번호', how='left') | |
print(result[['고객번호', '성별','연령대','제휴사','이용년월']][result['연령대']=='60세이상']) | |
cust.head(7) | |
memb.head(7) | |
comp.head(7) | |
result.head(5) | |
result = pd.merge(cust, comp, on='고객번호', how='left') | |
result[['고객번호','성별','거주지역','가입년월']]\ | |
[result['가입년월'] == np.max(result['가입년월'])] | |
## 203 | |
import pandas as pd | |
emp = pd.DataFrame.from_csv("D:\data\emp.csv") | |
emp['sal'] = emp['sal'] * 0.15 | |
emp['sal'] = emp['sal'].round() | |
print( emp[['ename','sal']] ) | |
## 204 | |
emp = pd.DataFrame.from_csv("D:\data\emp.csv") | |
emp['sal'] = emp['sal'] * 0.15 | |
emp['sal'] = emp['sal'].round(-2) | |
print( emp[['ename','sal']] ) | |
## 205 | |
import csv | |
file = open("D:\data\emp.csv","r") | |
emp_csv = csv.reader(file) | |
next(emp_csv, None) | |
for emp_list in emp_csv : | |
print(emp_list[1], int(emp_list[5])*12 ) | |
## 207 | |
import csv | |
file = open("D:\data\emp2.csv","r") | |
emp_csv = csv.reader(file) | |
next(emp_csv, None) | |
for emp_list in emp_csv : | |
print(emp_list[1], float(emp_list[5])*12 ) | |
def getPrime(x): | |
for i in range(2, x-1): | |
if x%i == 0: | |
break | |
else : | |
return x | |
listdata = [117, 119, 1113, 11113, 11119] | |
ret = filter(getPrime, listdata) | |
print(list(ret)) | |
for i in range(100): | |
print(getPrime(i)) | |
## 208 | |
def ename_first(x) : | |
return x[0] == 'S' | |
import pandas as pd | |
emp = pd.DataFrame.from_csv("D:\data\emp.csv") | |
result = emp['ename'].apply(ename_first) | |
result2 = emp[['ename']][result==True] | |
print(result2) | |
listdata = [9.96, 1.27, 5.07, 6.45, 8.38, 9.29, 4.93, 7.73, 3.71, 0.93] | |
maxval = max(listdata) | |
minval = min(listdata) | |
print(maxval) # 9.96이 출력됨 | |
print(minval) # 0.93이 출력됨 | |
txt = 'Alotofthingsoccureachday' | |
maxval = max(txt) | |
minval = min(txt) | |
print(ord('9')); # ‘y’가 출력됨 | |
print(ord(minval)) # ‘A’가 출력됨 | |
maxval = max(2+3, 2*3, 2**3, 3**2) | |
minval = min('abz', 'a12') | |
print(maxval) # 9가 출력됨 | |
print(minval) # ‘abz’가 출력됨 | |
## 210 | |
import csv | |
file = open("D:\data\emp2.csv","r") | |
emp_csv = csv.reader(file) | |
sal_list=[] | |
for i in emp_csv : | |
sal_list.append(int(i[5])) | |
maxsal = max(sal_list) | |
print(maxsal) | |
## 211 | |
import csv | |
file = open("D:\data\emp2.csv","r") | |
emp_csv = csv.reader(file) | |
sal_list=[] | |
for i in emp_csv : | |
if i[2] == "SALESMAN" : | |
sal_list.append(int(i[5])) | |
print(sum(sal_list) // len(sal_list)) | |
## 212 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
print( emp['sal'].max()) | |
# 213 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
result=emp['sal'][emp['job']=='SALESMAN'] | |
result2=result.mean() | |
print(result2) | |
## 214 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
result = emp.groupby('job')['sal'].max() | |
print(result) | |
## 215 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
result = emp.groupby(['deptno','job'])['sal'].sum() | |
print(result) | |
## 216 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
result = emp.groupby(['job'])['job','sal'].sum() | |
result2 = result[['sal']][result['sal']>=4000] | |
print(result2) | |
## 217 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
emp = emp[emp['job'] != 'SALESMAN'] | |
result = emp.groupby(['job'])['job','sal'].sum() | |
result2 = result[['sal']][result['sal']>=6000] | |
print(result) | |
print(result2) | |
## 217 | |
import pandas as pd | |
cust = pd.read_csv("D:\data\\L1.txt", engine='python') | |
comp = pd.read_csv("D:\data\\L4.txt", engine='python') | |
memb = pd.read_csv("D:\data\\L5.txt", engine='python') | |
chan = pd.read_csv("D:\data\\L6.txt", engine='python') | |
print(chan) | |
maxUse = chan['이용횟수'].max() | |
result = chan[['고객번호','이용횟수']][chan['이용횟수']==maxUse] | |
print(result) | |
## 218 | |
memb.head() | |
subGroup = memb.groupby(['가입년월'])['가입년월'].count() | |
print(subGroup) | |
## 219 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
result = emp[['ename','sal']].sort_values('sal', ascending = False) | |
print( result ) | |
## 220 | |
subGroup = memb.groupby(['가입년월'])['가입년월','고객번호'].count() | |
result = subGroup[['고객번호']].sort_values('고객번호', ascending = False) | |
result = result[['고객번호']][result['고객번호'] >= 200] | |
print(result) | |
## 221 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
emp['rnk'] = emp['sal'].rank(ascending=1).apply(int) | |
emp = emp.sort_values('rnk', ascending=True) | |
print(emp[['ename','sal','rnk']]) | |
## 222 | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
emp['rnk'] = emp['sal'].rank(ascending=1).apply(int) | |
emp = emp.sort_values('rnk', ascending=True) | |
print(emp[['ename','sal','rnk']]) | |
class Oracle_func(): | |
def __init__(self): | |
self.banana = 0 | |
def instr(self, arg,a): | |
l = len(arg) | |
result = 0 | |
for i in range(l): | |
if arg[i] == a: | |
result = i+1 | |
return result | |
def substr(self, var, num1, num2): | |
return var[num1-1:num1+num2-1] | |
def initcap(self,val): | |
return val[0].upper() + val[1:].lower() | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
result = emp['ename'].apply(oracle.initcap) | |
print(result) | |
a=[] | |
a.append(1) | |
a.append(2) | |
a.append(3) | |
z=a.pop() | |
z | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
result = emp['sal'].apply(oracle.rpad(10,'*')) | |
print(result) | |
class Oracle_func(): | |
def __init__(self): | |
self.banana = 0 | |
def instr(self, arg,a): | |
l = len(arg) | |
result = 0 | |
for i in range(l): | |
if arg[i] == a: | |
result = i+1 | |
return result | |
def substr(self, var, num1, num2): | |
return var[num1-1:num1+num2-1] | |
def initcap(self,val): | |
return val[0].upper() + val[1:].lower() | |
def lpad(self, val, num, char): | |
return char*(num-len(str(val))) + str(val) | |
## or | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
oracle = Oracle_func() | |
for i in emp['sal'].values: | |
print(oracle.lpad(i,10,'*')) | |
oracle = Oracle_func() | |
for i in emp['sal'].values: | |
print(oracle.rpad(i,10,'*')) | |
class Oracle_func(): | |
def __init__(self): | |
self.banana = 0 | |
def instr(self, arg,a): | |
l = len(arg) | |
result = 0 | |
for i in range(l): | |
if arg[i] == a: | |
result = i+1 | |
return result | |
def substr(self, var, num1, num2): | |
return var[num1-1:num1+num2-1] | |
def initcap(self,val): | |
return val[0].upper() + val[1:].lower() | |
def lpad(self, val, num, char): | |
return char*(num-len(str(val))) + str(val) | |
def rpad(self, val, num, char): | |
return str(val) + char*(num-len(str(val))) | |
## 231 | |
class Oracle_func(): | |
def __init__(self): | |
self.banana = 0 | |
def instr(self, arg,a): | |
l = len(arg) | |
result = 0 | |
for i in range(l): | |
if arg[i] == a: | |
result = i+1 | |
return result | |
def substr(self, var, num1, num2): | |
return var[num1-1:num1+num2-1] | |
def initcap(self,val): | |
return val[0].upper() + val[1:].lower() | |
def lpad(self, val, num, char): | |
return char*(num-len(str(val))) + str(val) | |
def rpad(self, val, num, char): | |
return str(val) + char*(num-len(str(val))) | |
def add_months(self, date, addmonth): | |
import datetime as dt | |
from dateutil.relativedelta import relativedelta as rd | |
temp = dt.datetime.strptime(date, '%Y-%m-%d') | |
temp2 = temp + rd(months=+addmonth) | |
return temp2 | |
def next_day(self, date, day): | |
import datetime as dt | |
import datetime as dt | |
from dateutil.relativedelta import relativedelta as rd | |
week_day = ['월요일','화요일','수요일','목요일','금요일','토요일','일요일'] | |
temp = date.weekday() ## date의 월~일로 표현되는 숫자가 담기는 부분 | |
temp2 = week_day.index(day) ## day의 월~일로 표현되는 숫자가 담기는 부분 | |
numday=0; | |
if temp < temp2: | |
numday = temp2 - temp | |
temp3 = date + rd(days=+numday) | |
return temp3 | |
elif temp > temp2: | |
numday = (7-temp) + temp2 | |
temp3 = date + rd(days=+numday) | |
return temp3 | |
else : | |
return date | |
def last_day(self, num): | |
import datetime | |
from datetime import datetime as date | |
from calendar import monthrange | |
temp = date.split('-') | |
a = monthrange(int(temp[0]),int(temp[1])) | |
result = '{0}-{1}-{2}'.format(temp[0], temp[1], a[1]) | |
return result | |
import oracle_function | |
oracle = Oracle_func() | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
import pandas as pd | |
emp = pd.read_csv("D:\data\emp.csv") | |
emp.head() | |
emp['hiredate'][0][:5] | |
for i in emp['hiredate'].values: | |
print(i) | |
for i in emp['hiredate'].values: | |
print(oracle.add_months(i,3)) | |
def find_word(): | |
x=input("찾을 단어를 입력하세요~") | |
file = open("D:\\data\\frozen.txt",'r') | |
sum=0 | |
for winter_list in file : # 스크립트를 리스트로 변환 | |
a = winter_list.split(' ') # 공백으로 단어를 구분 | |
for b in a : # 단어를 하나씩 b에 담는 것 | |
if 1 == b.lower().count(x) : | |
sum += 1 | |
msg = '\r %d개' %(sum) | |
#print(msg, end='') | |
print('') | |
return "{0}의 갯수 : {1} 개".format(x,sum) | |
class Oracle_func(): | |
def __init__(self): | |
self.banana = 0 | |
def instr(self, arg,a): | |
l = len(arg) | |
result = 0 | |
for i in range(l): | |
if arg[i] == a: | |
result = i+1 | |
return result | |
def substr(self, var, num1, num2): | |
return var[num1-1:num1+num2-1] | |
def initcap(self,val): | |
return val[0].upper() + val[1:].lower() | |
def lpad(self, val, num, char): | |
return char*(num-len(str(val))) + str(val) | |
def rpad(self, val, num, char): | |
return str(val) + char*(num-len(str(val))) | |
def add_months(self, date, addmonth): | |
import datetime as dt | |
from dateutil.relativedelta import relativedelta as rd | |
temp = dt.datetime.strptime(date, '%Y-%m-%d') | |
temp2 = temp + rd(months=+addmonth) | |
return temp2 | |
def next_day(self, date, day): | |
import datetime as dt | |
import datetime as dt | |
from dateutil.relativedelta import relativedelta as rd | |
week_day = ['월요일','화요일','수요일','목요일','금요일','토요일','일요일'] | |
temp = date.weekday() ## date의 월~일로 표현되는 숫자가 담기는 부분 | |
temp2 = week_day.index(day) ## day의 월~일로 표현되는 숫자가 담기는 부분 | |
numday=0; | |
if temp < temp2: | |
numday = temp2 - temp | |
temp3 = date + rd(days=+numday) | |
return temp3 | |
elif temp > temp2: | |
numday = (7-temp) + temp2 | |
temp3 = date + rd(days=+numday) | |
return temp3 | |
else : | |
return date | |
def last_day(self, num): | |
import datetime | |
from datetime import datetime as date | |
from calendar import monthrange | |
temp = date.split('-') | |
a = monthrange(int(temp[0]),int(temp[1])) | |
result = '{0}-{1}-{2}'.format(temp[0], temp[1], a[1]) | |
return result | |
def find_word(self): | |
x=input("찾을 단어를 입력하세요~") | |
file = open("D:\\data\\frozen.txt",'r') | |
sum=0 | |
for winter_list in file : # 스크립트를 리스트로 변환 | |
a = winter_list.split(' ') # 공백으로 단어를 구분 | |
for b in a : # 단어를 하나씩 b에 담는 것 | |
if 1 == b.lower().count(x) : | |
sum += 1 | |
msg = '\r %d개' %(sum) | |
#print(msg, end='') | |
print('') | |
return "{0}의 갯수 : {1} 개".format(x,sum) | |
import oracle_function | |
oracle = Oracle_func() | |
print(oracle.find_word()) | |
class Text_mining(): | |
def find_word(self): | |
x=input("찾을 단어를 입력하세요~") | |
file = open("D:\\data\\frozen.txt",'r') | |
sum=0 | |
for winter_list in file : # 스크립트를 리스트로 변환 | |
a = winter_list.split(' ') # 공백으로 단어를 구분 | |
for b in a : # 단어를 하나씩 b에 담는 것 | |
if 1 == b.lower().count(x) : | |
sum += 1 | |
msg = '\r %d개' %(sum) | |
#print(msg, end='') | |
print('') | |
return "{0}의 갯수 : {1} 개".format(x,sum) | |
tm = Text_mining() | |
print (tm.find_word()) | |
p_text = open("D:\data\positive-words.txt", 'r') | |
for i in p_text: | |
print(i) | |
## 236 | |
import time | |
dict = open("D:\data\positive-words.txt", 'r') | |
text_file = open("D:\\data\\frozen.txt",'r') | |
text = []; | |
for winter_list in text_file: # 스크립트를 리스트로 바꾸는 과정 | |
#print(winter_list) | |
a = winter_list.split(' ') # 한줄을 공백으로 자르는 과정 | |
print(a) | |
for i in a: | |
text.append(i.lower()) | |
positive = [] | |
for i in dict: | |
positive.append((re.sub("\n",'',i)).lower()) # 엔터를 '' 로 바꿔라 | |
count = 0 | |
for i in text: | |
if i in positive: | |
count += 1 | |
print(count) | |
## 237 | |
tp = Text_mining() | |
result = tp.positive("D:\data\Sherlock.txt") | |
print(result) | |
### | |
class Text_mining(): | |
def find_word(self): | |
x=input("찾을 단어를 입력하세요~") | |
file = open("D:\\data\\frozen.txt",'r') | |
sum=0 | |
for winter_list in file : # 스크립트를 리스트로 변환 | |
a = winter_list.split(' ') # 공백으로 단어를 구분 | |
for b in a : # 단어를 하나씩 b에 담는 것 | |
if 1 == b.lower().count(x) : | |
sum += 1 | |
msg = '\r %d개' %(sum) | |
#print(msg, end='') | |
print('') | |
return "{0}의 갯수 : {1} 개".format(x,sum) | |
def positive(self, file): | |
sherlock = open(file, 'r') | |
posi_dic = open("D:\data\positive-words.txt", 'r') | |
## posi_dic 정제 | |
positive=[] | |
for i in posi_dic: | |
positive.append(re.sub("\n",'',i).lower()) | |
text=[] | |
for i in sherlock: | |
a = i.split(' ') | |
for j in a: | |
text.append(j.lower()) | |
cnt=0 | |
for i in text: | |
if i in positive: | |
cnt+=1 | |
return cnt | |
with open("script.csv", "w") as f: | |
w = csv.writer(f) | |
w.writerows(empty_list) | |
import csv | |
sherlock = open("D:\data\Sherlock.txt", 'r') | |
posi_dic = open("D:\data\positive-words.txt", 'r') | |
## posi_dic 정제 | |
positive=[] | |
for i in posi_dic: | |
positive.append(re.sub("\n",'',i).lower()) | |
print(positive) | |
##Sherlock | |
text=[] | |
for i in sherlock: | |
a = i.split(' ') | |
for j in a: | |
text.append(re.sub("\n",'',j).lower()) | |
print(text) | |
with open("D:\\script200.csv", "w") as f: | |
w = csv.writer(f) | |
w.writerows(text) | |
cnt=0 | |
for i in text: | |
if i in positive: | |
cnt+=1 | |
print(cnt) | |
import pandas as pd | |
file = open("D:\data\emp.csv",'r') | |
for i in file: | |
print(i) | |
for emp_list in file: | |
print(emp_list[1], lower(emp_list[1])) | |
def lower(word): | |
return word.lower() | |
def rtrim(a, b): | |
return a.rstrip(b) | |
def ltrim(a, b): | |
return a.lstrip(b) | |
print( rtrim('smith','h') ) | |
print( ltrim('smith','m') ) | |
def rtrim(word, w): | |
if word[-1] == w: | |
return word[:-1] | |
print( rtrim('smith','h') ) | |
def hap(a,b): | |
print (a+b) | |
def gop(a,b): | |
print (a*b) | |
def hap_gop(a,b): | |
hap(a,b) | |
gop(a,b) | |
print(hap_gop(1,2)) | |
def countdown(n): | |
if n == 0: | |
print('발사') | |
else: | |
print(n) | |
return countdown(n-1) | |
countdown(5) | |
## 250 | |
def gugu(n,m): | |
if m == 0: | |
print() | |
else : | |
print('%d x %d = %d' % (n, m, n*m)) | |
return gugu(n, m-1) | |
gugu(2,10) | |
gugu(3,10) | |
gugu(7,10) | |
gugu(9,10) | |
gugu(2,20) | |
def two_dan(m): | |
if m == 0: | |
print() | |
else : | |
print('2 x %d = %d' % (temp-m+1, 2*(temp-m+1))) | |
return two_dan(m-1) | |
two_dan(2,20) | |
def gugu(n): | |
if n>0: | |
gugu(n-1) | |
print(2,'x',n,'=',2*n) | |
gugu(20) | |
def printstar(n): | |
if n>0: | |
printstar(n-1) | |
print('★'*n, end='') | |
print() | |
printstar(7) | |
def factorial2(n): | |
if n <= 1: | |
return 1 | |
else : | |
return n * factorial2(n-1) | |
factorial2(5) | |
def find_gcd(num1, num2): | |
if num2==num1: | |
return num2 | |
elif num1 > num2 : | |
num1 -= num2 | |
return find_gcd(num1, num2) | |
elif num1 < num2 : | |
num2 -= num1 | |
return find_gcd(num1, num2) | |
print( find_gcd(150,90) ) | |
print( find_gcd(108,72) ) | |
## 256. | |
def binarySearch(data, num): | |
leng=len(data);cnt=0; | |
data = sorted(data) | |
## iteration count | |
while leng > 1 : | |
leng /= 2 | |
cnt += 1 | |
leng = round(len(data) / 2) | |
## binary search | |
indi = round(len(data)/2)-1 ## 가운데로 위치 초기화 | |
check=0 | |
for i in range(cnt): | |
if data[indi] == num: | |
check+=1 | |
break | |
elif data[indi] > num: | |
indi-= round(leng/2) | |
leng=round(leng/2) | |
elif data[indi] < num: | |
indi+= round(leng/2) | |
leng=round(leng/2) | |
if check==1: | |
return "%d 가 있습니다." % num | |
elif check==0: | |
return "%d 가 없습니다." % num | |
binarySearch(data, 51) | |
binarySearch(data, 50) | |
data = [1,7,11,12,14,23,33,47,51,64,67,77,130,672,871] | |
15//2 | |
# 257 | |
def binary_search(data, num): | |
if len(data)==0: | |
return '%d 은 존재하지 않습니다.' % num | |
if data[len(data)//2]==num: | |
return '%d 은 존재합니다.' % num | |
elif data[len(data)//2] > num: | |
return binary_search(data[:len(data)//2], num) | |
elif data[len(data)//2] < num: | |
return binary_search(data[len(data)//2+1:], num) | |
data = [1,7,11,12,14,23,33,47,51,64,67,77,130,672,871] | |
for i in data: | |
print(binary_search(data,i)) | |
binary_search(data,33) | |
def colcheck(data): | |
return data[5] | |
import csv | |
file=open("D:/data/emp.csv",'r') | |
emp_csv = csv.reader(file) | |
emp_list=[] | |
sal_list=[];name_list=[]; | |
for i in emp_csv: | |
emp_list.append(i) | |
emp_list_sort = sorted(emp_list, reverse=True, key=colcheck) | |
for i in emp_list_sort : | |
print(i[1], i[5]) | |
import pandas as pd | |
emp = pd.read_csv("D:\\data\\emp.csv") | |
result = emp[['ename','sal']][emp['sal']>= 3000].sort_values('sal', ascending=False) | |
print(result) | |
emp.head() | |
result = emp[['empno', 'ename', 'job']][emp['deptno']==20].sort_values('empno', ascending=False) | |
print(result) | |
solarsys = ['태양', '수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성', '지구'] | |
planet = '지구' | |
pos = solarsys.index(planet) | |
print('%s은(는) 태양계에서 %d번째에 위치하고 있습니다.' %(planet, pos)) | |
pos = solarsys.index(planet, 5) | |
print('%s은(는) 태양계에서 %d번째에 위치하고 있습니다.' %(planet, pos)) | |
solarsys = ['태양', '수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성'] | |
planet = '화성' | |
pos = solarsys.index(planet) | |
solarsys[solarsys.index('화성')] = 'Mars' | |
print(solarsys) | |
solarsys = ['태양', '수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성'] | |
rock_planets = solarsys[1:4] | |
gas_planets = solarsys[4:] | |
print('태양계의 암석형 행성: ', end=' ');print(rock_planets) | |
print('태양계의 가스형 행성: ', end=' ');print(gas_planets) | |
a = list(range(1, 21)) | |
print() | |
evenlist = a[0::2] | |
print(evenlist) | |
listdata = list(range(5)) | |
ret1 = reversed(listdata) | |
print('원본 리스트 ', end='');print(listdata); | |
print('역순 리스트 ', end='');print(list(ret1)) | |
a = [4, 2, 1, 5, 9] | |
res = sorted(a) | |
print(res) | |
res1 =reversed(res) | |
print(res1) | |
## 269 | |
x = [5, 4, 3, 2, 1, 8, 7, 10] | |
num = len(x) | |
for i in range(num-1) : | |
for j in range(num-1) : | |
if x[j] > x[j+1]: | |
x[j], x[j+1] = x[j+1], x[j] | |
print(x) | |
## Recursive Bubble Sort | |
def bubble(data, leng): | |
if leng == 0: | |
return data | |
for i in range(len(data)-1): | |
if data[i] > data[i+1]: | |
data[i], data[i+1] = data[i+1], data[i] | |
return bubble(data,leng-1) | |
bubble(x, len(x)) | |
a = [5, 4, 3, 2, 1, 8, 7, 10,1, 29, 101, 27] | |
def bub(data): | |
try: | |
for i in range(len(data)-1): | |
if data[i] > data[i+1]: | |
data[i+1], data[i] = data[i], data[i+1] | |
bub(data) | |
except: | |
print(data) | |
bub(x) | |
def bubble(a): | |
try: | |
for j in range(0,len(a)-1): | |
if a[j] > a[j+1]: | |
a[j], a[j+1] = a[j+1], a[j] | |
bubble(a) | |
except: | |
print(a) | |
bubble(a) | |
def bubble(a): | |
for j in range(0,len(a)-1): | |
if a[j] > a[j+1]: | |
a[j], a[j+1] = a[j+1], a[j] | |
bubble(a) | |
return a | |
bubble(a) | |
## insertion sort | |
x = [5, 4, 3, 2, 1, 8, 7, 10,1, 29, 101, 27] | |
temp=0 | |
for i in range(1,len(x)): | |
for j in range(0,i): | |
if x[i] <= x[j]: | |
temp=x[i] | |
for z in range(i-j): | |
x[i-z]=x[i-z-1] | |
x[j]=temp;break; | |
print(x) | |
a=[5,4,3,2,1] | |
a[-(len(a)-1-1-1-1)] | |
len(a) | |
def insertion(data, index): | |
## Base Line | |
if x == len(s): | |
print(s) | |
for j in range(len(s)): | |
if s[x] < s[j]: | |
temp=s[x] | |
for z in range(x-j): | |
s[x-z] = s[x-z-1] | |
s[j]=temp;break; | |
insertion(s, x+1) | |
insertion(a,1) | |
def ins(data, ind): | |
## Base Line | |
if ind == len(data): | |
return data | |
## Recursive Line | |
for i in range(ind):#len(data)-ind+1): | |
#print(data, end=' ');print(i) | |
if data[i] > data[ind]: | |
print(i, end = ' ');print(ind, end=' ');print(data); | |
data.insert(i, data[ind]) | |
print(i, end = ' ');print(ind, end=' ');print(data); | |
del data[ind+1] | |
print(i, end = ' ');print(ind, end=' ');print(data); | |
print() | |
ins(data, ind+1) | |
a=[5,4,3,2,1] | |
ins(a, 1) | |
a = [] | |
for i in range(3): | |
txt = input('리스트에 추가할 값을 입력하세요[%d/3]: ' %(i+1)) | |
a.append(txt) | |
print(a) | |
solarsys = ['태양', '수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성'] | |
pos = solarsys.index('목성') | |
solarsys.insert(pos, '소행성') | |
print(solarsys) | |
a = ['태양', '수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성'] | |
del a[0] | |
print(a) | |
del a[-2] | |
print(a) | |
solarsys = ['태양', '수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성'] | |
solarsys.remove('태양') | |
print(solarsys) | |
solarsys = ['태양', '수성', '금성', '지구', '화성', '목성', '토성', '천왕성', '해왕성'] | |
del solarsys[1:3] | |
print(solarsys) | |
listdata = [2, 2, 1, 3, 8, 5, 7, 6, 3, 6, 2, 3, 9, 4, 4] | |
c1 = listdata.count(2) | |
c2 = listdata.count(7) | |
print(c1) # 3이 출력됨 | |
print(c2) # 1이 출력됨 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment