728x90
반응형
SMALL

Language 19

231128 Python_Oracle 접속, conda 설치, 바인드변수, create_engin, 정규표현식, 메타문자

설치 Anaconda Prompt conda install -c anaconda cx_oracle (base) C:\Users\ITWILL>lsnrctl status : 상태정보 import pandas as pd from pandas import Series, DataFrame emp = pd.read_csv('c:/data/emp.csv') dept = pd.read_csv('c:/data/dept.csv') ■ 파이썬에서 오라클 접속 import cx_Oracle 오라클 접속 # 계정명, 비번, HOST명:PORT번호/serviece이름, encoding conn = cx_Oracle.connect("hr","hr","DESKTOP-E88DR0D:1521/xe",encoding="UTF-8") cu..

Language/Python 2023.11.28

231127 Python_join, inner join, outer join, union, union all, intersect, except, over(partition by), rank() over(), dense_rank over()

# 테이블 불러오기, 이관작업 data = pd.read_csv('c:/data/dept.csv') data.info() data.to_sql('dept', conn, index=False) c.execute("select * from dept") c.fetchall() # 컬럼명 확인 c.execute("pragma table_info(dept)") c.fetchall() # join # cartesian product(cross join) c.execute("""select employee_id, department_name from emp, dept""") c.fetchall() # ANSI join c.execute("""select employee_id, department_name from e..

Language/Python 2023.11.27

231127 Python_sqlite3, transaction, data migration, 날짜, 형변환, cast()

■ sqlite #1. 별도의 DB SERVER 가 필요 없이 DB 파일 기초하여 데이터베이스를 처리하는 엔진 import sqlite3 sqlite3.version sqlite3.__file__ # 임시 저장 영역 구축(메모리) # 메모리생성 conn = sqlite3.connect(':memory:') # transaction 실행 conn c = conn.cursor() # sql문 실행메모리 영역 # sql하기 위한 실행, 문자형식으로 작성 c.execute('create table emp(id integer, name char, sal integer)') # 문자 insert 실행시, "" or ''. 단, insert문 을 ''으로 했다면, 문자입력할 때에는 ""으로 작성하는 것이 가장 bes..

Language/Python 2023.11.27

231127 Python 예외 사항, class, Except 상속

■ 예외사항 # 실행 중에 발생한 오류 def divide(x, y): return x/y divide(10, 2) divide(10, 3) divide(10, 0) # 예상이름: 예상메세지 / ZeroDivisionError: division by zero divide(10, "2") # 신텍스에러 = SyntaxError: invalid syntax. Perhaps you forgot a comma? divide(10, "2") # 타입에러 = TypeError: unsupported operand type(s) for /: 'int' and 'str' # try-except try: print(divide(10, 2)) # 실행중인 being절 except: # 정상적인 종료 print("오류가 발..

Language/Python 2023.11.27

231123 Python_상속, 다중상속, method, staticmethod, classmethod, cls

■ 상속 #1) 클래스의 메소드 속성을 물려받는다. #2) 공통된 내용을 하나로 묶어서 관리할 수 있다. # 부모 클래스 생성 class Parents: def __init__(self, name, pn): self.name = name self.pn = pn def show(self): print('이름 : {}, 전화번호: {}'.format(self.name, self.pn)) p = Parents('홍길동', '010-1000-0001') p.show() # 자식 클래스 생성 class Child(Parents): # Parents 클래스를 받아온다 def __init__(self, name, pn, addr, sn): self.name = name self.pn = pn self.addr = a..

Language/Python 2023.11.23

231123 Python_class, 인스턴스화, 인스턴스 변수, method

from pandas import Series, DataFrame import pandas as pd # class 생성 class Person: info = '' # instance 변수로 하는게 더 깔끔할 듯! def showinfo(self, name, age): # 형식매개변수 self.info += '이름 : {}, 나이 : {} \n'.format(name, age) # \n(엔터키) 은 print를 사용해야 효과 # man 인스턴스화 man = Person() #인스턴스화 man.info man.showinfo('홍길동', 30) man.info man.showinfo('박찬호', 20) # 추가 정보(누적) print(man.info) # woman 인스턴스화 woman = Person()..

Language/Python 2023.11.23

231122 Python 절차적(구조적) 지향 프로그램(procedural language), 객체지향프로그램(Object Oriented Language), Class 생성, 인스턴스변수, 인스턴스화

# ============================================================================= # 프로시저 프로그램 # = user1 result = 0 def add(arg): global result #result = result + arg result += arg add(10) result add(20) result # = user2 add(40) result result1 = 0 def add(arg): global result1 result1 += arg # user1, user2 에 add()에 영향을 미친다. # ex) 게임user 별로 아이템을 다른 user도 사용한다고 생각. # ==================================..

Language/Python 2023.11.22

231122 Python line plot(꺾은선그래프), 도수분포표(frequency table), histogram, box plot, 줄기 잎 그림(stem and leaf diagram), 산점도(scatter plot), folium

# 기본 import from pandas import Series, DataFrame import pandas as pd import matplotlib.pyplot as plt from matplotlib import font_manager, rc font_name = font_manager.FontProperties(fname='C:/Windows/Fonts/gulim.ttc').get_name() rc('font', family=font_name) import numpy as np # 색상 import import stemgraphic # 줄기 잎 그림 그래프 import folium # 지도 시각화 라이브러리 # 원하는 파일 read_csv 불러오기 emp = pd.read_csv('c:/dat..

Language/Python 2023.11.22

231121 Python_Rank, 2차원배열 Rank, pandas 날짜, 데이터 재구조화, pivot, matplotlib(시각화 라이브러리), plt.subplot(행, 열, 위치), 그룹형·스택형 막대그래프

■ Rank obj = Series([78,80,88,60,50,90,79,99,68,80,80]) obj obj = Series([78,80,88,60,50,90,79,99,68,80,80]) obj (1) 오름차순 → 값에 따라 오름차순 순위를 나타내며, 정렬은 되지 않는다. obj.rank() obj.rank(ascending=True) (2) 내림차순 → 값에 따라 내림차순 순위를 나타내며, 정렬은 되지 않는다. obj.rank(ascending=False) (3) DataFrame #1) method : 동점자처리 방법1) DataFrame({"순위": obj.rank(ascending=False), "점수": obj}) 방법2) DataFrame({"순위": obj.rank(ascending=..

Language/Python 2023.11.21

231120 Python_equi join, map(), 타입 변경, 그룹함수, aggregate, merge(join), right_on(left_on),right_index(left_index)=True, how='inner/left/right/outer'

# equi join emp.loc[(emp['COMMISSION_PCT'].notnull())&(emp['DEPARTMENT_ID'].isnull()),['EMPLOYEE_ID', 'COMMISSION_PCT']] # 함수 생성 def square(arg): return arg**2 square(10) lst = [1,2,3] square[1,2,3] #오류발생 square(lst[0]) square(lst[1]) square(lst[2]) [square(i) for i in lst] # 반복문 활용 map(함수명, 변수명) 메소드 #1. 속도 빠름 #2. 대량의 데이터시 사용 map(square, lst) list(map(square, lst)) list(map(lambda arg:arg**2, ls..

Language/Python 2023.11.20
728x90
반응형
LIST