Skip to content

Instantly share code, notes, and snippets.

@JoeUnsung
Created December 26, 2017 08:46
Show Gist options
  • Save JoeUnsung/9d553442fd9b99f6d73d535068fea97c to your computer and use it in GitHub Desktop.
Save JoeUnsung/9d553442fd9b99f6d73d535068fea97c to your computer and use it in GitHub Desktop.
2017_12 ITWILL practice
# -*- 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